Analyzing stock has never been easier.
Project description
hide:
- navigation
快速上手
安裝
在任意平台上,皆可安裝 FinLab Package,我們支援 Windows、MacOS、Linux,並且甚至是 Pyodide! 以新手來說,推薦的使用方式是直接在 Google Colab,來使用。 Google Colab 可以線上產生一個執行 Python 的環境,使用者不需額外在本機安裝任何程式,即可開始使用。
=== ":octicons-code-16: FinLab 實驗室"
打開選股策略頁面 https://ai.finlab.tw/strategies 並點選「建立策略」即可開始使用。
=== ":octicons-code-16: Google Colab" ``` py # 打開 Colab: https://colab.research.google.com/ 新增筆記本 # 在 Colab 中任意 Cell 中執行
!pip install finlab > log.txt
# 即可
```
=== ":octicons-code-16: 本機 Python" ``` py # 在 anacnoda prompt 中執行
pip install finlab
```
下載資料
輸入以下程式碼,即可下載資料。可以查詢有哪些歷史資料可以下載。
from finlab import data
data.get('price:收盤價')
date | 0015 | 0050 | 0051 | 0052 | 0053 |
---|---|---|---|---|---|
2007-04-23 | 9.54 | 57.85 | 32.83 | 38.4 | nan |
2007-04-24 | 9.54 | 58.1 | 32.99 | 38.65 | nan |
2007-04-25 | 9.52 | 57.6 | 32.8 | 38.59 | nan |
2007-04-26 | 9.59 | 57.7 | 32.8 | 38.6 | nan |
2007-04-27 | 9.55 | 57.5 | 32.72 | 38.4 | nan |
撰寫策略
可以用非常簡單的 Pandas
語法來撰寫策略邏輯,以創新高的策略來說,可以用以下的寫法:
from finlab import data
close = data.get('price:收盤價')
# 創三百個交易日新高
position = close >= close.rolling(300).max()
position
date | 0015 | 0050 | 0051 | 0052 | 0053 |
---|---|---|---|---|---|
2007-04-23 00:00:00 | False | False | False | False | False |
2007-04-24 00:00:00 | False | False | False | False | False |
2007-04-25 00:00:00 | False | False | False | False | False |
2007-04-26 00:00:00 | False | False | False | True | False |
2007-04-27 00:00:00 | False | False | False | False | False |
這邊的 position
是一個 False/True 的查詢表,當數值為 True ,代表該股票在當天有創新高,而數字 False 則代表沒有創新高。由於創新高的股票很少,上面的範例中,只有少數股票的數值會是 True。
假設我們希望每個月底,搜尋上表中數值為 True 的股票並且買入持有一個月,可以用以下的語法:
回測績效
from finlab import backtest
report = backtest.sim(position, resample='M')
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for finlab-0.3.14-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | afb55c0ba4f4c456e44fc26ed3ee04279d40c91b6eda9b96d6ef13081eb0584e |
|
MD5 | 1b0469a34c5e1dd7f81a789ae0ac1fa5 |
|
BLAKE2b-256 | 328a7ebc9ee7d81e9b6021c3a51b5f65fba189e3365fffed70e07dc4397deb3e |
Hashes for finlab-0.3.14-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c2a1c54cd2502aa4bc382cc2aed2e6a1f8b70ff3ab759289d6c1acd70d28d81 |
|
MD5 | 320be7bbd44f697ca9366197df2bc064 |
|
BLAKE2b-256 | cd16238a965996167f93e6f2033d63885c0a726b2dc51350ac3a167b01aa727d |
Hashes for finlab-0.3.14-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 97be4dbb899f561862318eb4df5d7215d6a98b1bdc3f685ac954323c3c387389 |
|
MD5 | ca6e0eefbfc2752dd08392facb9bd727 |
|
BLAKE2b-256 | f72856b359338761597037a1fe105b28d09686977723fbd51a4c12f5876902a9 |
Hashes for finlab-0.3.14-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d54a8464eb9fb27eec401f9b58e2717b438483388ee2764970cfb8402db9e2c |
|
MD5 | e1bb653b2cbd468e2db7fb9899eb7ce2 |
|
BLAKE2b-256 | 8df44a2abe3e65da75f58af9104793dbb902e7aa6dfd97007a75455eefcb4ceb |
Hashes for finlab-0.3.14-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb6b2a4dd2bb5000e23dcd3c96bc0800243397d343d69f9bb31c6da1bcbdacb2 |
|
MD5 | 07babc9e12d7fb5d0c896d89d740f523 |
|
BLAKE2b-256 | 4d5a4fc6f9ceca2622d80653571aaf59cce4ba5b4740d15b69ad4ca5075e7836 |
Hashes for finlab-0.3.14-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | eed2b148e6620ad623e85afe0f153048809a200e4fbf7aef440e18c4581c08ca |
|
MD5 | 4aff938803a552e495c09b955a69e53c |
|
BLAKE2b-256 | 7388cd0ec31ac848fd48363deb62b815f1c514d811e5019cb5167ecc51c4853a |
Hashes for finlab-0.3.14-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8020a29ee0047135ebce11e3b3bdde1ab3c348a75219b92a756643454b98d27 |
|
MD5 | bf47e193dd098677823200b153c4ce54 |
|
BLAKE2b-256 | 9d02db288f50c52bc04f321f06e72db7fd75f76e080366e06d7239d165fa0e22 |
Hashes for finlab-0.3.14-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 95f7e2108746506ff6cdf2584e3dd6d5b0d985d59eff427e17683a248aad7176 |
|
MD5 | 508625f21d52b82ba3ad49d5dc71cb94 |
|
BLAKE2b-256 | d9da20cade25b72bca03c17bddfcf0978615b8d92179e72602ffbece4f854f90 |
Hashes for finlab-0.3.14-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66a4a085f364be53771df380e82653c38bc086c6d6f49fb54b251c2cc8edde74 |
|
MD5 | 83dda1713b23d2de51e45322d3dda81b |
|
BLAKE2b-256 | da14cc01773484ce6ecbbce204369b375f0710ac7c7890b1e447c774be8436d6 |
Hashes for finlab-0.3.14-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8ad1bfe04fdefaeaa8ffad74834fe088a4ed74d3af43530e549a4b05795f8221 |
|
MD5 | 15207b449f80a938a2e0d3c47e1607a5 |
|
BLAKE2b-256 | 704ec1f19638e30d11f33e927cbbc9ef2f9f234087064ab706411b2f5a86cc6b |
Hashes for finlab-0.3.14-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 278243de937909e37c455ed2e5451ca9ad842fbff9912086e72e29d492883b0a |
|
MD5 | 4780a019d52f7027b04e3ba0d9d9c55c |
|
BLAKE2b-256 | 01b2ddd1c514732751d64fff8b23b61d595db42376248438b23dd67415d7f0f2 |
Hashes for finlab-0.3.14-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d595310b245587cd3a3590073af989d57636b6b3c69d2ec718427f1f380cb215 |
|
MD5 | 0978f47dbc980f0784e586892dcb9d53 |
|
BLAKE2b-256 | cd782817fcf9f503d9349578c324feeab495c5c32ed8a397ef5902b73d2a2e2e |
Hashes for finlab-0.3.14-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 819df7f924ffe99bcc6f07d405d68bf97675dd29b96e95d1770c371a2ca8196e |
|
MD5 | c1aa3931c49bc5beeadc46ec1ccfcefc |
|
BLAKE2b-256 | d84298cdf95ddc3dca1871b2f89629887d064387743f01374325f2da8d00b5d1 |
Hashes for finlab-0.3.14-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 55904832b093c7179f712df150c45e04facfc46ab49b38abe4b051bd00b3880e |
|
MD5 | c3cf5740a7f63ac3357c15205cc7a1c5 |
|
BLAKE2b-256 | 08773d33f419feb2a72647c805f7934063a3a42550caea1127938adee96ae834 |
Hashes for finlab-0.3.14-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 26814da067ab00af2b3ecb1637b4f19998f0c61da1c8934cc1f66ea79b947a79 |
|
MD5 | f75b7259fa3261b70ba6b3a2b9912bb7 |
|
BLAKE2b-256 | 9066f6571bbff147004963f904bfddba724c96928216f7c6ec0402de53de2e06 |
Hashes for finlab-0.3.14-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4b2fcbb772d9fa553b1d5a51e07c8de16ccfea625d937ce69ae9b330b5c6bf6 |
|
MD5 | 363234149833a33f59469b5100fba7a6 |
|
BLAKE2b-256 | b87c26c49a44a3a715eed6ad5e3029c64b91c931558348558089fa1ddd626273 |