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.9-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed762c24d7ec862fdb9415dab602ee9038c812517e4ad706ffe5797d6e61794f |
|
MD5 | a7b3909e4f574f7de291d0ea8a633570 |
|
BLAKE2b-256 | 087ae3af979dd6d2d580ad0facb5c9091e260ce45db26714f30f55b0086b8b63 |
Hashes for finlab-0.3.9-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75a89dc39b6ae4196a4620153ae87d85ceb4a1220769e40a00950afe415df6e0 |
|
MD5 | 37e2d69ae90229a6e0df9d19a07c64eb |
|
BLAKE2b-256 | 889deda3ff1abe5cb4a0c67243875903e532dc22503bccca3dbf7ec2ccf3e4a6 |
Hashes for finlab-0.3.9-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b9b677038fe1df9e50fd681e1948bb4dac64c41bef7c9947f75eedc6eb554ed2 |
|
MD5 | 8231ddf25cb7ad9bf4ad72e7d52c71e4 |
|
BLAKE2b-256 | 666582c0c55adea5a584633b7561934f9537f5f9dd49013a4bd2984c2097484f |
Hashes for finlab-0.3.9-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9830b23b809c789dd94e50e43239c1a963adda3b3f6d3b509d1b1bc3ece7b07b |
|
MD5 | 62a974f151a196f14200585bc5696633 |
|
BLAKE2b-256 | 7c9a0030fcfafba0b573e2a03ae602a67cad1f62cbb8a122dd0823f6591f0d4e |
Hashes for finlab-0.3.9-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2eb27d78bf6d13eeb438914355216c7563667d4e369682d17bee1f06c46517fe |
|
MD5 | 586e5babab15cb719b5630e8bdc3006d |
|
BLAKE2b-256 | 32b5ad447a04dc22c446fc0fbf26fe49961a2a4ab35459d13ee28c5aa89c383b |
Hashes for finlab-0.3.9-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a96d2ed249190e31c66ae479c96bb8863037fe6faea8b5425ef573ce7c9600f7 |
|
MD5 | aa6d4af225f12bc94dc2108e66e85d3c |
|
BLAKE2b-256 | 6ebd9b127983e11365af13a34a031c16d58f3c4867d4398bfc04949843f21831 |
Hashes for finlab-0.3.9-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 51739105c7f90d9b2c91fc266e0c2452a3a5d3ff35b33f4e7f8acdad74f1e49f |
|
MD5 | a19a759ebe210c60fbec02666a977663 |
|
BLAKE2b-256 | 831873e52e78ef64423fa60e393d87d3773cd676efcce73985c7f4511f4faef1 |
Hashes for finlab-0.3.9-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 897d8baca0b9f4a6a21e27425aab678b9d464bed3ed330ac216e1e29130ed97a |
|
MD5 | 966a2b3d142b0cf396aa9fd7f54d464e |
|
BLAKE2b-256 | e48fbc41b41dcdadbb02fc32b0313a21721ae6cc850f54541a5f2e2aef35eb0b |
Hashes for finlab-0.3.9-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 616efce0144f2b1b90eebc99ee5b9c4c27df10bc6f52bfcf3b1e7f0a17767fc2 |
|
MD5 | d9496abbc5c4128147426395bfd592eb |
|
BLAKE2b-256 | b1864c653f5928dfbbf02d721f69300d8fcd0c559974152c6ec21e69eb193a5c |
Hashes for finlab-0.3.9-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f430e04ef6fc3fec4b035618cc716edcbf303742d8b856eabef6d843ee8dde26 |
|
MD5 | 3ee3d2b2f9f686af9f8ffcfa739c409b |
|
BLAKE2b-256 | 552c1e837ff321a1e0974a207058398911370e8990e4117245e8917bc71079f1 |
Hashes for finlab-0.3.9-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | db8b046d702f869ed4d1b0fdb0e5375a9b50cd7431fd53ece50fe9087d33ad94 |
|
MD5 | b390122719529a6b62c70357535ee1bf |
|
BLAKE2b-256 | 1255e575abae7140a2eb8b3bfe8cbb95cce49f667e351325de6fbf6df0cb069f |
Hashes for finlab-0.3.9-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c887b2d56885cbd21f0a7534306a18763b61864bb2bb6cd846def51666c16072 |
|
MD5 | bdfef1f79c7f636c8c6367ef0aab3ce9 |
|
BLAKE2b-256 | ac4ec20573ff52c4c88cefffab969776665501687741e4b5806e85719db4cf03 |
Hashes for finlab-0.3.9-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebbf520ca4f0f1d8703583baea34d62bec922064b04bb5d17c8c9b551b4a6055 |
|
MD5 | fa6725e4a7ee0b23ea246739bd9db370 |
|
BLAKE2b-256 | 36301cc5c03b6c91b0a3aa6dd54c5c1132cc0cff4285c46783eea8e8b371ebf9 |
Hashes for finlab-0.3.9-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 90dd10dc52afe5cb07220d138e5e86c3c943c0bcccf4f3c33544fe83453551ae |
|
MD5 | a81830d71501890fc234269eeb7236d2 |
|
BLAKE2b-256 | daf9ca3f749b6c2168270dbf51fd8fad0940326519b46734bf92901365a01797 |
Hashes for finlab-0.3.9-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e0c421ce100c955ca65b5265c9669d4fd99e76e6e729548a62fbd109d7c1c224 |
|
MD5 | 09755876a3c99a8822ed4109193ce85f |
|
BLAKE2b-256 | 18d3dff516fb3c2fb3fce4bacc48e1241f00ec6667a3ef39b16bc6ca62f055c5 |
Hashes for finlab-0.3.9-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 49544214fa67f1c2c21b298ce8d1308a16b1d624b811e87cf64444e5aa7b54a9 |
|
MD5 | f213a53d053e8a09c0bb93c952445191 |
|
BLAKE2b-256 | 38f477c5f5b2956cda92101edb2c3b6cf1799dd307ecebd86d4377f4d4b62f78 |
Hashes for finlab-0.3.9-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6cf2746f968bc32a419a469b8192153f0bc6927f578a60360e9b6d3c27168f52 |
|
MD5 | df9331d64cdcdd7a8823a5315c9b8672 |
|
BLAKE2b-256 | f5a795b11c313f19f25429fa8ff39a47b89b0b36f2921814105092fb16a6f5d0 |
Hashes for finlab-0.3.9-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0c86b79e1d699ccf2e92aa312f039e032edf9007206f186208997e827bb2968b |
|
MD5 | b4c6277a159353730e86556476d3d7d0 |
|
BLAKE2b-256 | f0d9cf327871be2cb85d80969fe13d001a9186d0cb18e5a6d9e8016103def03f |
Hashes for finlab-0.3.9-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2070af23a26d9b5cdcee9d7fe41f0bc2ca2e4c9a7714ee6aa05c62f6512e93e1 |
|
MD5 | 17549c40503b9f4e90fd35b603c50608 |
|
BLAKE2b-256 | 4641f844455991083112bc62de1d33adea7c5f8af6baff9f3001168b246122b2 |
Hashes for finlab-0.3.9-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bdb6692500ee6f12f0609adb949ebed4501cad013038c5494aceca7fa4b2f410 |
|
MD5 | 694454692886606eada0e3d1458f5807 |
|
BLAKE2b-256 | b26e98309126e1dc9939ff5fdc9a1d6d071688e90857022b2f3da304e6eb2a9b |
Hashes for finlab-0.3.9-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a5f99da18676adc7fbdf37dfbbd8c85906d4389af3cca0f2f29651e1c6cdf9f6 |
|
MD5 | dff60da71ea034712b42f1976ec8f1d8 |
|
BLAKE2b-256 | dba412a82f2b1ebe825d86d06fa127f005424103675aa543791fd0c550cffe8e |
Hashes for finlab-0.3.9-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee93e5761626b540bc0296a33973e0f58c1e136408b80e8ea01bacc91ae5e2a8 |
|
MD5 | f77c26e80cfe8fc1c39a0f37e74402bb |
|
BLAKE2b-256 | 327f2be04013efacfff4e8ad8bd65663f216c23bbc8c93959c769f48ad57c94f |
Hashes for finlab-0.3.9-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 679481cfeea21fb3323255bab1171a1d79f52601e41ed5781250980232efe7e9 |
|
MD5 | c4b9f7535cd313ceddeedf00503323e1 |
|
BLAKE2b-256 | dc9a7861b9acc9bd1cc1bb2c123aabab297947cf0e67fba850ed6b2b8b91fcb7 |