Analyzing stock has never been easier.
Project description
hide:
- navigation
快速上手
安裝
在任意平台上,皆可安裝 FinLab Package,我們支援 Windows、MacOS、Linux,並且甚至是 Pyodide! 以新手來說,推薦的使用方式是直接在 Google Colab,來使用。 Google Colab 可以線上產生一個執行 Python 的環境,使用者不需額外在本機安裝任何程式,即可開始使用。
=== ":octicons-code-16: Google Colab" ``` py # 在 Colab 中任意 Cell 中執行
!pip install finlab > log.txt
```
=== ":octicons-code-16: FinLab 實驗室"
打開選股策略頁面 https://ai.finlab.tw/strategies 並點選「建立策略」即可開始使用。
=== ":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 | 0 | 0 | 0 | 0 | 0 |
2007-04-24 00:00:00 | 0 | 0 | 0 | 0 | 0 |
2007-04-25 00:00:00 | 0 | 0 | 0 | 0 | 0 |
2007-04-26 00:00:00 | 0 | 0 | 0 | 1 | 0 |
2007-04-27 00:00:00 | 0 | 0 | 0 | 0 | 0 |
這邊的 position
是一個 0/1 的查詢表,當數字為 1,代表該股票在當天有創新高,而數字 0 則代表沒有創新高。由於創新高的股票很少,上面的範例中,只有少數股票的數值會是 1。
假設我們希望每個月底,搜尋上表中數值為 1 的股票並且買入持有一個月,可以用以下的語法:
回測績效
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.3.dev1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 843a6feec08ab26b691ad40f9c2ab37f299c874407fb2caa650f672d8c8ace20 |
|
MD5 | 0b6e80efa4c799c430c7ced473487bf5 |
|
BLAKE2b-256 | 3f912de6033e0f3eff2c423c0a7fa59372dfdad0423102b99457f3edc0ba8230 |
Hashes for finlab-0.3.3.dev1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 964b30982884a679a5e192520d09d187f11e6a28e8d93e297ee1009b4116d761 |
|
MD5 | 38fed3f48913be75ef7ff83c911fd295 |
|
BLAKE2b-256 | de1f37065ed71960708437e9449e4a487ca1af1a29460fb1c444b618b320ddf4 |
Hashes for finlab-0.3.3.dev1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b938bb1ef67fe0a51e1f121dedf419d3784afd56e7fa3ceb80ac3572dda3b391 |
|
MD5 | a0bc5650bc76d3e122ed69885937410a |
|
BLAKE2b-256 | 4fad8d9288867165fc542e8531949ab9351efe8fe7a98cdfe192f77c84e7b69f |
Hashes for finlab-0.3.3.dev1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5613ac749bab9fad8d640d2ce14f8814331c873b2f7893452682d1127d3e9adc |
|
MD5 | addb6cf2079585a38110fc3f9c40e842 |
|
BLAKE2b-256 | d9d3845ba678d402972a54de2cf830665428fa5168f96e8c3535e5c0804ebc70 |
Hashes for finlab-0.3.3.dev1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0ff46dc32dafd8b8ea9b7230eb5cb15969bd6c00f999ace8205f5af4e2de881b |
|
MD5 | 913d17b34981b425b99d7011f076b8b8 |
|
BLAKE2b-256 | 228ac49fb078b51ba99bd20c7daf55e7223adc7eac11d924eb554930c749210a |
Hashes for finlab-0.3.3.dev1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aed82e730fde5dee5b6f364e1193cfc68d530e15109ca199df6a5b15a8e70ad1 |
|
MD5 | 99dd16506882a71ad1fa135728f2d641 |
|
BLAKE2b-256 | 7e0be9b67102a4f0b0044739a0d36c3c0eedfc748a888c2f63da4a0a5739e912 |
Hashes for finlab-0.3.3.dev1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1664374fbfc28a077c646f5521a78f4a9969ef7ec8439b272c33b25ee371bd52 |
|
MD5 | 4a93e8bbaaaff1d38bf560cb5dc61bb0 |
|
BLAKE2b-256 | fde01eee21d95a75c578ded15f5921ae82d01ed25068d0f3fdcadc487c011c52 |
Hashes for finlab-0.3.3.dev1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e425afa197d3cad954755ed009bb75b85cbb21e758a6d4423a92af2bcd279a6d |
|
MD5 | b68008a6f015d3c6c7a635fd7a1cf56a |
|
BLAKE2b-256 | ba3c19bd99b08aa9e612c23fa299bb4a8f02e693e2a41f77b2ac4c96a64aaf8e |
Hashes for finlab-0.3.3.dev1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1ce81602feafb1ca5fc612df1231513ebb998d2d9eb14b9bfd9ce8af4453f99 |
|
MD5 | 0412df91d80f530231a915bb8c71510f |
|
BLAKE2b-256 | a7f61e79379b7f436f0f1cfae6755134553342583226968a477658646a07b988 |
Hashes for finlab-0.3.3.dev1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 091e8438d61788479544f9c895b7436ae7c2893a3e807b604b942bda8d78b204 |
|
MD5 | 94821dea63381fecfaf6ca6bc1b94794 |
|
BLAKE2b-256 | bf56f3584988ee8e2bc85d3c08d703c5d5fd65129492d858781f4765281d3e71 |
Hashes for finlab-0.3.3.dev1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c8ae57f0128fc135dabc6404fdbc970d55f04a5cb3659d2770982c2cc67bcfb1 |
|
MD5 | ce1ff48880308e7ef5906a220d53d8d6 |
|
BLAKE2b-256 | 8c25a0fda9fecba714af1f10bb33338333c639a98737e676d9b2d1984c9ad353 |
Hashes for finlab-0.3.3.dev1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2e15c7bf9190341fdcc1ca49af8f7410d4d323294c26d5eb816a0345cad905c1 |
|
MD5 | b7ae80c56435190bcb9f9c098c63aa5d |
|
BLAKE2b-256 | d636e977161efafcaf149e59927fd188d929c11cf5fcd63b77b53937af0d0696 |
Hashes for finlab-0.3.3.dev1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6f2969d26ad35cd99ea0d408686b9d18904ad6193f6f949cb7d153870af0fb2 |
|
MD5 | a77a796ce37d9fac4b976d3e82e7ae1b |
|
BLAKE2b-256 | d82ea7200eeb5d4c3ac91756388df0034ad6b7f02f33d9f46f4c4d1b7887f007 |
Hashes for finlab-0.3.3.dev1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 29744dd520ec0da1f2e7e1155c008ca645fd16eac5f2119ef2001cbddfdc6686 |
|
MD5 | fff1530d362c8ccad9ff3cadb850fb38 |
|
BLAKE2b-256 | 0b247ad1421cedd5373e38f1f6ca43a21befa752d41294283efc70a9b1fe51f3 |
Hashes for finlab-0.3.3.dev1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d58605e7d55dcebb24ce9f19b4e276596a0c6d431e0f70c1214e3141e0763338 |
|
MD5 | 6aac920805b739a9ea1b35bd68e70f0a |
|
BLAKE2b-256 | 6137fe5e396821c4fdffde5a0837327c10384202e30a6c78dac427a58074c505 |
Hashes for finlab-0.3.3.dev1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 71427532f37c5a5068c9c54ae9053b1a7bbbada9cd0d874d633e838a63f8d988 |
|
MD5 | e3500ad1c9e06b38dfa63c67958e0c7f |
|
BLAKE2b-256 | d8c2bbfcc255fd566194443996a66a775db5a07c24f46c627b7d77329b3baa43 |
Hashes for finlab-0.3.3.dev1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09061be7d46ea1328064752279625e2e5dafd57cf131eee8e5c4cad390ce80c4 |
|
MD5 | e8fcf703a0d47784df726749f17172ad |
|
BLAKE2b-256 | 688d7b68170f8afa8709a3e0f56bb8b5698a2f73c79552817911b8caaf5b2bdd |
Hashes for finlab-0.3.3.dev1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e180c0aeabb0aeffe8dd271943345033ef5f23f84a3d11fed0f970acacd7cfc8 |
|
MD5 | 9d2207d8a971d7419d196c4dfa286c62 |
|
BLAKE2b-256 | 9404c67221db50560549a393eadac7665d716678a8179076818ad9c15b19f0f0 |
Hashes for finlab-0.3.3.dev1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5a9fc1e43cdbad1e490ddc5bce80517ae7dec940ce419e5e4931754aa7f50dd0 |
|
MD5 | ecab5d37452369493c1f6290db416a53 |
|
BLAKE2b-256 | 8b245d0785415efa7e08a4eb9d9744e87ff63e376effe7a5c4298da584fd4f62 |
Hashes for finlab-0.3.3.dev1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09d66359a723d760b6711e14a451f8bbed99d2b86645356735b6633508c2cabe |
|
MD5 | cf66b85558cb63062bf8c7c656b806a5 |
|
BLAKE2b-256 | 20805dcc20f809c7fed7d68a11a1842c0e98366cfbdfcb949a07ad2e405e4936 |
Hashes for finlab-0.3.3.dev1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a36b2af0bc62271ca67c51f15fee18cd45cef0b4d20a75d9846c7cc106086908 |
|
MD5 | fb9c0b02a8bc5f4539064513b5987c9a |
|
BLAKE2b-256 | 8682435d782c26b24078e06ee26261ba8f75331b3a3b940c1f54517e27ff8528 |
Hashes for finlab-0.3.3.dev1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b73cc463072264d2e33bf851c25e2f3a806f9e6b8bd9aec37da87331d434a34e |
|
MD5 | 7160981d7d0450fe6c8e25cd72074f82 |
|
BLAKE2b-256 | ea088c1daa56117187ead8446fb62a86d6cfdaf9d65c0e5e22442e193ec49f98 |
Hashes for finlab-0.3.3.dev1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe8ca652caf3f89cc56fbee2e6195b5971a08ea1b617b992e9188adf09e70b46 |
|
MD5 | 81a085a2fc51bbba45613fd903c97445 |
|
BLAKE2b-256 | c0743deedecf2f7d7bcb3d91840524eacc314c3a05d5814a667738e5b53089d2 |
Hashes for finlab-0.3.3.dev1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1712c19f59284aaf3b7c3d15c4e839ec9dcf1d46c59a53097a0a07298c8f1519 |
|
MD5 | 61d0de868e9e6985e26ea0abb359bf16 |
|
BLAKE2b-256 | 3b2262c641db561141b7d157962df4b87834d399deec7a03d27621a4bc9a7af2 |
Hashes for finlab-0.3.3.dev1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11d51d67d7113f091ccce97c25918dc971bbfa2db327805c28d575a9f6e8fd27 |
|
MD5 | 97eac1355e97f57129ce54536a9ab98f |
|
BLAKE2b-256 | 5389149acefe0bd93d7152d075e276818064dc0022c205fcf5f50c7d14c8efee |