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.8-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bd7b6c40fbea130059f99bddc3508d328eb83441f2d2547ba0bc006e46614fd7 |
|
MD5 | 1530411339be1c9bbf9aea43bd88a485 |
|
BLAKE2b-256 | dcad413204e19a680638ebdd436cbb3ce814a7b8c1601a01a2d860a26eaa0e27 |
Hashes for finlab-0.3.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 41eaaaa35024374de8103b0aa21f540379c759b81bad800f3525d15d56001d8a |
|
MD5 | 150bc9261a6833aeafcca392a576709c |
|
BLAKE2b-256 | f269ee2f271351b43b3364adb84f6a77e4247250ad77eb3e56835442afe5a572 |
Hashes for finlab-0.3.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a2482f24d6d01476645e212bbc9615eb85e73714a12c67a0f3962789071699cf |
|
MD5 | fc18da54db18b58291d440f4c2770276 |
|
BLAKE2b-256 | 61c1a732cb568d8121b079834b9df7ff535f6c3fe693130f746995227f56c42d |
Hashes for finlab-0.3.8-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ff7282578be66da361fb077b14f72212a24864469b094369cf9832f8cf8bf990 |
|
MD5 | d5b6d5fccef9aaf6034f80c2943ba98f |
|
BLAKE2b-256 | a4d3561e60388fa9228f40bd48d4584bccf7ad3b82ab10d3eaa871697bf746a3 |
Hashes for finlab-0.3.8-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c50bf298086669c4aef01b54a32d840a6f3158fcff5623d2dcdeb40b2bd96778 |
|
MD5 | be6350abbff7be72d3cf6a3a0ca32196 |
|
BLAKE2b-256 | 0375c7e8fc92fb1b80f16d8ee8d205bcb0b83eff18387daf1e7419054e85a4e1 |
Hashes for finlab-0.3.8-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a174baea6abaf9a2e0d6e3d59e7f83bffbe75ac6b545652dcde6397e2ad2cb0 |
|
MD5 | 2310eecc6576b15f4b9eed0bef6bb04e |
|
BLAKE2b-256 | b3a13939c1fe05349488883c10dff8ff1ee8715b3895bc1acb7785ed2e276707 |
Hashes for finlab-0.3.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c6f9be2b05c65e8e5ba8b59ff358a79b1f4fdf96b10890b50f2ea50e0cdf943d |
|
MD5 | b47f0be122c92e54587948706cc28613 |
|
BLAKE2b-256 | a8601b59678744c1b00d5f6aa96709dc978335709887cdd7853e9841759f31f8 |
Hashes for finlab-0.3.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2839f673cb7f07d89c2ecc99c45e394a5a6d745cd2cc3286274ead60c1cc3004 |
|
MD5 | f3fd956ced9da2bca0797e5139b1f99c |
|
BLAKE2b-256 | ff874cefab1470001ccfbf80e7e79a40e6de1b1d1e1a9898ab0932b11fdc5aa3 |
Hashes for finlab-0.3.8-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a54a47f615d18ff18721d6e2020696e4e082cdf693dd8897fe4a10c36df9a07e |
|
MD5 | 459112ddc7e75eca797b661641ec2145 |
|
BLAKE2b-256 | 803cb0d9db2201348036a938499072856d6359040c702f09eed9a8fd95a05549 |
Hashes for finlab-0.3.8-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 61cfacae82297311ed18aad7c37a75f956385f7515294d457910a28427e6d158 |
|
MD5 | 4988255104a8442fd937aee15e6f0ea6 |
|
BLAKE2b-256 | b7400358a64a98bcbb9a7f8c10175194434e6d58458930686b1c60cabbb749ed |
Hashes for finlab-0.3.8-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0d75a8c4ce882c35b38eddecd334965a5014b63bbb853eb2323aa056199dd0f6 |
|
MD5 | a732cc7dc7dce6aeee6e7f8007197fb3 |
|
BLAKE2b-256 | 44d351d00dce89634ee855b98337fa551c7ed2599869bc6a27b62837606c3557 |
Hashes for finlab-0.3.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9b9710017aefd6a90167a44d127f55f6aaa6b91a83b140c86a0848d25194f0f7 |
|
MD5 | 77e3640bc0b3742fa05ff7d36d11d005 |
|
BLAKE2b-256 | c9f5e06c50d9397c1d4cfb6fce48474039c2cde35c5efbc13e85986930a5c2d1 |
Hashes for finlab-0.3.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bfb460af198300d8224ae3dde04a131161edc0d7e86959ca3aa322b9d7393f38 |
|
MD5 | 1d2b771672793eb948f67d7957cc5132 |
|
BLAKE2b-256 | 4c7079ef6af4a539190e710b7332396d5c9f89b525d1f750d9928c60934ea315 |
Hashes for finlab-0.3.8-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 96d400be8e3bfa13672ba64e6766bfcfd38f206c67df9dbcc90293496535e0ae |
|
MD5 | fbd0299bd4162a2a570279c1eeca1fcd |
|
BLAKE2b-256 | 20e4d59cb6f07a28f8f281d1169a307893e8731346959eff7bc64b1990671b9c |
Hashes for finlab-0.3.8-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a7a72ee3acac71581b75ef3ed4102ab318bc2a10cc222a9ca324207d695e1b8f |
|
MD5 | ab55a3cb284c710f22e27a8f529836dc |
|
BLAKE2b-256 | 106a46419969998217b55859b1df58f808d5a37fe460f13ef64310672b951555 |
Hashes for finlab-0.3.8-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 40b6c5d096914ed98f47196f596bbcab9a4fbba4450314e4efaafdcee72221cb |
|
MD5 | 34774dcd0ebb0ccca930231b380a065b |
|
BLAKE2b-256 | 47489c515d2949c1276095e7d64a8f29c216ebedd4dc1af6876d7a165b1a06cd |
Hashes for finlab-0.3.8-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3c66a94e828d5a1cce69af71ef3c6162a2328e96e04eea4601de4d6b9484668c |
|
MD5 | 89292a47beb976b2e3142ef9dcd06fb2 |
|
BLAKE2b-256 | 3e37560cc2e820ade84bc5294b5c3956409d9977c679bbccab131269500b6ba7 |
Hashes for finlab-0.3.8-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ecb4c006dcc54896c99d81835712a1a25440d2ffafaac99f00186eefd659d4ad |
|
MD5 | 2f3c5d0fe392862c9f7d432a58e8054f |
|
BLAKE2b-256 | ba885b6a8fe26fdc3431cb005340f55a8c00b7c143a784af980babb955ec2cd6 |
Hashes for finlab-0.3.8-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7e665dd8b9696492a554740d1fefae4db8624700eccf67dabf777789d6a9b3e5 |
|
MD5 | 6d2cb58b0714b9c4a990b32a32770070 |
|
BLAKE2b-256 | 35053318c1561306838698f95082c84139d99c9af5f6b312a75f18c0df9a8e41 |
Hashes for finlab-0.3.8-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 24465608a20f966dcdc6dcb2a973d3795f41324c2d8fe244204415ad6cd92a34 |
|
MD5 | c403d6732d62b798597784e31174aef6 |
|
BLAKE2b-256 | e7fe6205f69b90ec7e5c0f4b2115bc94651b851b482b9aba60e5497dc8e19f5f |
Hashes for finlab-0.3.8-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 190d17127feb5844b43405de7401a8cc20144f7e7d5404b7fd9ef9793daae57e |
|
MD5 | 4feb14dcf19905b0f19221ddddad57f0 |
|
BLAKE2b-256 | 6fdf3558281353dc7deceea063016bd603db3217dbcaa1eaf8474f1af62bdcc8 |
Hashes for finlab-0.3.8-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7c10e924608fa340e428764f22b7f905312106c1d053235870e3638f16a56167 |
|
MD5 | 59747cf348df6859445e0d6b6d9598f1 |
|
BLAKE2b-256 | a3b9a99793d2b43f8b16eb0e99b75cf066efd01479da1119ed6558564a33d28b |
Hashes for finlab-0.3.8-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d235d89107fc5eee12c11ce24d7584dfede69388e55e00df76369f8af9c4147e |
|
MD5 | 7862130af4038b69a6292144b0637c3e |
|
BLAKE2b-256 | eb259b96ed11316514bc3d2f8273979e96a632c17a3a7e649aaa8235b91a2389 |