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.5.dev1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 650d972ee37d1f307bc3b96b6960ba16edfbdc82f070c9d85cdf496da0ce5490 |
|
MD5 | a62a7d73db0f8226b8d61e8c12568a55 |
|
BLAKE2b-256 | 9d7fd85cf3f520bb084c8f4182b92991f22b760d798f5f4bbce8cb8f0930dca1 |
Hashes for finlab-0.3.5.dev1-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 833122bedf29681cdf05d8f36f6742cf81746cdbf737b45e761cbf69501a1a5d |
|
MD5 | 948ed40430756281c6781e2081b2028f |
|
BLAKE2b-256 | fe420b342a062bc7fa4d8da33ab53d116cc5b31fea2f38e346f350c7165c2ccc |
Hashes for finlab-0.3.5.dev1-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7ba81da0cce2695486cda0f9765e590356805d8ceb6c3b4b0f321784e8287adb |
|
MD5 | 3f85d91c9cd72936332716a72f892f74 |
|
BLAKE2b-256 | a7bcd2c6a38a012daeb78174bdf292f28685b3a4dbc73e5d7f271f112d4de840 |
Hashes for finlab-0.3.5.dev1-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a0ccc8f0d02f655a048b7fc9a318d58fd556767728094dfa21106f00b7b4acdd |
|
MD5 | bf5d15adfa432fdbf4791c931733adfe |
|
BLAKE2b-256 | 5a203cc53ff14500d0d7767521656ae8919398152600f832ece0ebe498ca761c |
Hashes for finlab-0.3.5.dev1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5fbd27f9a5e2327c21ec22688283560c8c2dce97a8e59a737fbd092b7450b562 |
|
MD5 | dd0ed365cba201543ac49a1c8dc05ffe |
|
BLAKE2b-256 | ce6fb097f1c181547ef0610b528b5399249f4b22f9e54536230cfd3439f7a30b |
Hashes for finlab-0.3.5.dev1-cp310-cp310-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 221947152828511b4c9ed54e073527b5bd774811a45e85b4064bcb9da625a3f8 |
|
MD5 | 73c3e7a4ed29166b6e209c71a33f1376 |
|
BLAKE2b-256 | 63cbe05481ecea921422d931ebf5b28fe0a15f9b0df23c45516ef56c702b44a5 |
Hashes for finlab-0.3.5.dev1-cp310-cp310-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fde6bb9e3c3c6bb1a0bc9866acd41d5c0ed5fc613d813164019921ec8dec8eae |
|
MD5 | 722b3c3c1966ecb8dc0322dc08ab396f |
|
BLAKE2b-256 | 0b2b1a4a4716b6187f4b8009ff9914cf8ed1cb3de49397b3b3d3fbc497097a6f |
Hashes for finlab-0.3.5.dev1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b146b01bd63e32219d27b142611724d32f835d5e7caf08da3d2c3dd310959ff |
|
MD5 | abb28e3e0135f258dfe87ce67a01cfc2 |
|
BLAKE2b-256 | ddfd482b1b907d2a5f52030ba907c69ae7d1a189ac04dd8e3aa9313b3a77c6f2 |
Hashes for finlab-0.3.5.dev1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 75ee5cefc04b001da132902dcac0ddf2ac6ecd04868d998c1c5d46b14a6e81fa |
|
MD5 | 627aae1a86ef3cc2bef052dc5e9bdf72 |
|
BLAKE2b-256 | 3269effb82eeb01e0ca5a6a047e7f6870add13b11488bcef3c4c2dddf119e142 |
Hashes for finlab-0.3.5.dev1-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8bc139032b301a29bcc58c8b2b70075d361c67ce415c69118facbd734636b700 |
|
MD5 | 9165fc0ada8bc88151b98d0ba3aa6ac3 |
|
BLAKE2b-256 | 695f3157d5d1aa953ef257b2bcfcc3d4926a1b60465f0a0e891f90c489c3d514 |
Hashes for finlab-0.3.5.dev1-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f42b31241a20905523f59a1792f5f4c75994d1c8b0ac7a9d2456c7a6ec6c1891 |
|
MD5 | a4d29ec170cce18fe54de2ad6b42c61c |
|
BLAKE2b-256 | 530df2c31d156d9dc834a70dc7825e37528614cb695d64df3c08c8f9de59ed4c |
Hashes for finlab-0.3.5.dev1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bbce2b113fa3864b588407b8b9bd3c81f4687f3abb2432a9429b1b4fa29616ca |
|
MD5 | 9f04c779c22ab023a8d47666fa5114a2 |
|
BLAKE2b-256 | 28bee967de9508d9c15a560070a091d30d6d50c0f0a53085e287b553e2da013e |
Hashes for finlab-0.3.5.dev1-cp39-cp39-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 32e6a19eb83a454db095c4c913a4cb25401471d2c39d8632b8441a28ed8919d8 |
|
MD5 | 87c4974f63cdcd5eeed4919f6372657c |
|
BLAKE2b-256 | 0d0fe2ea5244ea7d4d0d7287d47304ec10ae43fbf98460742a04894cbd48afb9 |
Hashes for finlab-0.3.5.dev1-cp39-cp39-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc89ea4472acc33d6ef4349c6afe638764e0beb607be3725bfb83bf6cc490414 |
|
MD5 | b74f0a84ca7d561248bfe6d357244999 |
|
BLAKE2b-256 | 549211a269cabbe4c3b5dae13b98b1cab98121d099c2a5166bde1b0f94650fec |
Hashes for finlab-0.3.5.dev1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7cf658107c8490de5c01a43eabdbc788d730db3b6caaeff5cc0643461c0255bd |
|
MD5 | eb579b1f4f7bf861d40d9c024c935d0f |
|
BLAKE2b-256 | 095707776d8103b0485b476a1d63ecb9ca7cfed87ec44bb65784ffb55f72ba1c |
Hashes for finlab-0.3.5.dev1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9fa9762dfb52474d631b56318205613a4b0ca3f434c7e4bb2bae8ce219e9251c |
|
MD5 | b446b06e7a9c9ed158fa3779cd388759 |
|
BLAKE2b-256 | 7b80784a84136680aacf427483f7bb6228cea1b28b12c253614f2de294cf00b4 |
Hashes for finlab-0.3.5.dev1-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 054d3d5b9c3fe1ccd22fd41ba1d3cceec15c8601057ab61c724138ac8302325c |
|
MD5 | 3cdcde107113c6e1c1f336b421e03a12 |
|
BLAKE2b-256 | 35e548d727c1419f826716358d2aa540753a46ae34b05a5012d5d750031f145f |
Hashes for finlab-0.3.5.dev1-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | acc6158c59ede396f6c050f497ef3caa3777eb4b86659dfd637ac0fa5b3b0e3c |
|
MD5 | 6572e83a27cba68151cbe5cc7a214662 |
|
BLAKE2b-256 | 2b95d9dc81fc6d551c9fb0bd4a3bae7bdca477da5c872ab1755896f1e6bb8c3b |
Hashes for finlab-0.3.5.dev1-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 450df6226c11c818cbcafdc60995c9ffc49fd8b34629cf21fbd7f044a03c36d8 |
|
MD5 | 0d8fd8a48bc31b9b9e3b4195dce10045 |
|
BLAKE2b-256 | 1c72ae0b3646c2630220d33bee7fd2bfd0cca831cb13f8e8693c7be426b909d0 |
Hashes for finlab-0.3.5.dev1-cp38-cp38-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8545cbec6b0cb5daa2f04d6cf0c6562f1a753df48d17fd967aa077dc0f3a21d5 |
|
MD5 | fdd14e49b5f58e694341592e0b1430b2 |
|
BLAKE2b-256 | 33888695dc628eefe6b159a9bfedfe23df72d3ef5e4d4ce4651eb5f6699362c0 |
Hashes for finlab-0.3.5.dev1-cp38-cp38-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fef55289c07c9930bd968e7efd8b0b6f71595f88629cae24830c316fdcfeda1a |
|
MD5 | 909ff7462f074f35dd5983e59677103c |
|
BLAKE2b-256 | 070e54a4c42a42fafdab21c93b51621126d29ed93aaebfb789aebf8e56c2942c |
Hashes for finlab-0.3.5.dev1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | abdb583fda590671ba85805926b9fe9a5efd5ce188e5c5af1686d2f172e4dc32 |
|
MD5 | 05621af18f25be3092aaa55e2f452338 |
|
BLAKE2b-256 | bcbfbd0832497c740d5a93ed86edd0ba1549e642bc2726a638279d4460e11386 |
Hashes for finlab-0.3.5.dev1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8d225e47e76a3b46b15696e5594bd93393f83aacfa3f42561cb7323a7c1d95a0 |
|
MD5 | 54293e27c5de646f8b7c7a453c3aa967 |
|
BLAKE2b-256 | 699334436a3863f8d16923d9da08dda0c8f95df4157c103d7807387d5a0b1e31 |
Hashes for finlab-0.3.5.dev1-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 28b28907ffc43fce124220db07a83d07d028784becbe6f97552807be5ab26d60 |
|
MD5 | 7899229bb2b7dd1ec7f5bbd8906c4d04 |
|
BLAKE2b-256 | 97fabe4a0a56f9821e13abaa7ab79039646b9080ae3139555b366e3f8faae8de |
Hashes for finlab-0.3.5.dev1-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9738a6487de959320a52733c6134a0882d9a3245ffa2d3aa68bc29bfd98aa99f |
|
MD5 | da2d1fb4b66d8c7437e6adff2d8ab910 |
|
BLAKE2b-256 | 39786145d7f68a2d0bfb414fcae290f3c4bb2fd90e06d5969339477c0b385aa2 |
Hashes for finlab-0.3.5.dev1-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 58bb6b77fa55c2d6c7d0519a701e9b4803607b00b9f78a11c117ac1144ec49dc |
|
MD5 | 0d45f9efa5559804e66b739ecd07ab37 |
|
BLAKE2b-256 | ee4fed9c41f53c59e4e2733e66bc29ce7416cb4e17a2ba5eda465cf2eb2c6b92 |
Hashes for finlab-0.3.5.dev1-cp37-cp37m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2787089cf81fe044ec66e475f992373a842072351a00c87a0a128d7e41fcf1cc |
|
MD5 | 2bd2eb94d9e0ac39e167e61aaa435ca1 |
|
BLAKE2b-256 | 379d6d02ca6ec43c0b18a536eec8077f097575e1909213b5e827e6c7dfe4f5a9 |
Hashes for finlab-0.3.5.dev1-cp37-cp37m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 23027e16cf7b1078800e01b17185792e18cc535cd6dce58ea6a9fe02aba5b1d2 |
|
MD5 | 38bd3266f498dc684ef08a2b7bca28dc |
|
BLAKE2b-256 | ae145863e0f97f6513310203a6469b7baa9d576ddbf2633832c0cf48b2a274aa |
Hashes for finlab-0.3.5.dev1-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a6fd4d3cf50532593d274f253c8c9947f7bbc4657412507da17f61b486cd1ba |
|
MD5 | 472aa32cdc8287db23db8d6a2c5d0531 |
|
BLAKE2b-256 | 40b9726e6f8368ddf71879b8aa6b12d0bbb5f9318a76678741ec06c2bb03b937 |
Hashes for finlab-0.3.5.dev1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 790532e2b730d4a6a91c1796b4026dcedd3436fd7d49bef770650a6afa196262 |
|
MD5 | 1aceec46bb3f2c77b2124abb0710783a |
|
BLAKE2b-256 | 1ae232c7620413803aaad4a3688e1ea9efee1be646eebf5905b741d5ad66d424 |
Hashes for finlab-0.3.5.dev1-cp37-cp37m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92ebf930c6abb9480c0c96665677ecd6009edd4bc2a2eeae4466f41d73a4b16c |
|
MD5 | cc758f27de278119d4e0f07c9f7386e8 |
|
BLAKE2b-256 | b363760525bdf0e51c9a155409b26aab6114756b6d773586bb113daa2f7ed837 |
Hashes for finlab-0.3.5.dev1-cp36-cp36m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1fe7beabfa9a9abb4139909a310cd8c380148b34adc27e8ac623a35f10b8ee91 |
|
MD5 | 1000111dafba1e54b779e555630e7bc9 |
|
BLAKE2b-256 | 48441af64236b11272bcb905399bad7cc0aa6bddd8382f79d0170c1c0bd06a84 |
Hashes for finlab-0.3.5.dev1-cp36-cp36m-musllinux_1_1_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4fceba6873378e72e82aec7b41630d20666a5d48ce8c4179dbf4264b756b655a |
|
MD5 | dffdf1748e15d9b7c80012f0d1c1281b |
|
BLAKE2b-256 | 75f7e79069649d6425d000cf1c8d28968a68d7e21a7fa428129891f4f749eb1e |
Hashes for finlab-0.3.5.dev1-cp36-cp36m-musllinux_1_1_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31539e8d4c2d97f88519f2687280b16416df44b7a02a8069f072be39cba85d99 |
|
MD5 | 9e1ecc8c986b3fd22fe3d8d217c11451 |
|
BLAKE2b-256 | c2b6a0fba3748593a3216fe1105b0525c272c3bd1729b7c6b920e4b9305b4b31 |
Hashes for finlab-0.3.5.dev1-cp36-cp36m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 147e958d0e86d80ce676a8013905fc4f263581983b73d77bbef4f1b37957a65f |
|
MD5 | 87f5dcbe848344d9e07b663797af7de0 |
|
BLAKE2b-256 | a6f3f8f64b55f128fa3de72ea42e9a775072eb3dd332d72f42ca7ed0a3d14e73 |
Hashes for finlab-0.3.5.dev1-cp36-cp36m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68f5077500c36c8cbc6555a4b6a478df57879fbc5f1cf86013e919f1c54da164 |
|
MD5 | 95f3bb0d0b7367bfead08ec4180a8896 |
|
BLAKE2b-256 | 3fe3fa0cfb08157d83a6c58062c83556a30359b785542dcee0be9b13d4c56c0a |
Hashes for finlab-0.3.5.dev1-cp36-cp36m-macosx_10_9_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | aa07b9189a66ed3647b90efe7b876c36707d3bd9ab613dd625b33c35557a68d6 |
|
MD5 | 62a7f8fcb239625358154e299f88c03a |
|
BLAKE2b-256 | 362896ddf156d72ef65febf1e77f9796490bd67d6c8090b76f9553c0d6ab7738 |