Skip to main content

FinLab

瞬間的閃念之中,揭示過去十年2000支股票的歷史數據,這就是finlab package!不僅如此,它與pandas無縫整合,讓你在策略創建的旅程中,如同進行一場華麗的交響樂演奏。其語法之簡潔,讓你撰寫策略時有如神助。

你只需要撰寫人類懂得邏輯,而程式會自動融合各種頻率的歷史數據來選股,這不僅是程式設計上的巧思,更是對簡潔的極致追求。當你以為這已經是頂峰,它的詳細回測結果,又將你帶入更深一層的分析維度,每一筆數據都讓你的決策更加精準。 在幾秒鐘之內,2000支股票的回測,這速度,這效率,它不僅是一個 package,這是一個交易者的夢想加速器!這是finlab,一個為熱血操盤手量身打造的回測神器!

功能

  • 📊 快速存取龐大資料集:單一指令即可取得2000支股票過去十年的歷史數據。
  • 🐼 Pandas整合:利用熟悉且功能強大的pandas函式庫,輕鬆設計交易策略。
  • 🔍 用戶友好的語法✍️:採用簡潔直觀編碼語法。
  • 🕒 多頻率數據處理:自動整合管理不同時間頻率的歷史數據。
  • 🔬 全面的回測分析:透過詳細的回測報告,獲得深入的洞察。
  • 🚀 高速計算:得益於 Cython 優化的性能,幾秒鐘內即可執行2000支股票的回測。
  • 🤖 機器學習:結合 qlib 研發機器學習策略。

相關連結

簡易教學

下載資料

輸入以下程式碼,即可下載資料。可以查詢有哪些歷史資料可以下載。

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')
report.display()

image

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

finlab-2.0.17-cp314-cp314-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.14Windows x86-64

finlab-2.0.17-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

finlab-2.0.17-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

finlab-2.0.17-cp314-cp314-macosx_10_15_universal2.whl (2.7 MB view details)

Uploaded CPython 3.14macOS 10.15+ universal2 (ARM64, x86-64)

finlab-2.0.17-cp313-cp313-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.13Windows x86-64

finlab-2.0.17-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

finlab-2.0.17-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

finlab-2.0.17-cp313-cp313-macosx_10_15_universal2.whl (2.7 MB view details)

Uploaded CPython 3.13macOS 10.15+ universal2 (ARM64, x86-64)

finlab-2.0.17-cp312-cp312-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12Windows x86-64

finlab-2.0.17-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

finlab-2.0.17-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

finlab-2.0.17-cp312-cp312-macosx_10_15_universal2.whl (2.7 MB view details)

Uploaded CPython 3.12macOS 10.15+ universal2 (ARM64, x86-64)

finlab-2.0.17-cp311-cp311-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.17-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

finlab-2.0.17-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

finlab-2.0.17-cp311-cp311-macosx_10_15_universal2.whl (2.7 MB view details)

Uploaded CPython 3.11macOS 10.15+ universal2 (ARM64, x86-64)

finlab-2.0.17-cp310-cp310-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-2.0.17-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

finlab-2.0.17-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ ARM64manylinux: glibc 2.28+ ARM64

finlab-2.0.17-cp310-cp310-macosx_10_15_universal2.whl (2.7 MB view details)

Uploaded CPython 3.10macOS 10.15+ universal2 (ARM64, x86-64)

File details

Details for the file finlab-2.0.17-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.17-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for finlab-2.0.17-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 36df411a966a212f01c13da0d9689e06012bc56e269354abfb07e1de78c6e674
MD5 fbb9cb5286b8b6df3e0239c2c2ff2cc7
BLAKE2b-256 4732bb3022f994ee45b1ecb45253cec50cba5c47618bb47cfdaa216a84835ced

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a73b6885743d32c1f9e2dcd83529f5d5783f83484b7fe3139e49fed55f4afa63
MD5 077e1c6abe421a123189337031874598
BLAKE2b-256 4e943379747214639b27fa7faadb529dfa86de563c1178121d37d92e9595428c

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 10f3a5c0c891e8f34766e7105da2d20b8654e9329eaca4d11d530d81f50f8d2b
MD5 512346584220080437ab31da6bd521ef
BLAKE2b-256 5973d08b076f729e340f36bcbbc4c9f256944082035454e40dfc1ddb5b4c471c

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp314-cp314-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a1ba34338e3ea22f445e423eb1f72dc706834a1528c6ae146504aedf4bafc87f
MD5 c818dac4fe99b629a09bb2c156c1013f
BLAKE2b-256 b8698494ae3caea305453a4bd44e235c146a573a10bbadea23ef8abef64359b6

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.17-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for finlab-2.0.17-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 70407874a9a2f10ce2abc3d222701521aada89441b3071fb2aab83b9a80d00f0
MD5 9a59809ddb9f16ab2c15f2bc635c197b
BLAKE2b-256 05171cd242d1a297fbf141b5a8285a986a305e88cd4f50733f2609f42692af05

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3cba72acd468426b60e25c4bc29846d4e67ecd15d2c6f30f14a967c47661fa7c
MD5 0e3c18e859398c3c178ac2a3f5e60378
BLAKE2b-256 346393fc275151b36988e244108778be9efbc3146dc856548f40f7d67f3b0237

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f067c2d76be739326e6b5804a975ccb47537d3a7507c485e4c4485e12299c5bb
MD5 0cb051c69253c3bf343ada1b8c6397a8
BLAKE2b-256 9108abb1c73a3a947ac6a406325b26e383874ab34e590d4baf67f7dd7e1717b5

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp313-cp313-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0719ab7f7a9626569ac1c1d44cadc7a491e42e8f9cf19cec4949dcea43a3be5a
MD5 efd21488ef46ce8ce0af24eae3d72454
BLAKE2b-256 97a492f85bd5a9669a3dde5419867accdd6bf19f3a563e976868adce3cdeeebd

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.17-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for finlab-2.0.17-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 f5408e1e67f4b8b9ab2926fcc943c84bcc48cf9d9253260f6514cf069da7110d
MD5 40b8f905f4efcf7240b93dd4fbb22814
BLAKE2b-256 284cd8629565ccc8a46dad2bbae446fe835d2d1a49a61f448ed02468a6d42312

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bcdc12b8149ba012c482c6c665a20bb6b3bacc4fb334d968693a90557ede18d3
MD5 dbbbf44eec7d61d45c8afac5058d21d7
BLAKE2b-256 52c113f5eaf916567a828d095051713587b2e5cf105cbaffc6cccabcfec95228

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ce5bdde069b49da57d2c265c05fef3acad6185a5364402c7e63e1c8a2603150b
MD5 72a88ed53264a18b144a08a269874125
BLAKE2b-256 0f1237b1e75884470aa01e616b193637ea1a913bc2245deef1c78a968fe84e60

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp312-cp312-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 010bf5a1bb51c78cfb5aaf33708c2ba1b16295622f5156312c3318d54c68a10f
MD5 636dedc47da2bd599ee3d2146cd64793
BLAKE2b-256 481785986fcfe4f1db3ce94874439be089b4a2f06953f1e62005fea13366f938

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.17-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for finlab-2.0.17-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 15ac41468f36d3d75e806fe7fbb6e68b5ea6ddefdc9398d63ded35d12ab9609c
MD5 0053afb7be927f54ffc5d6b5ad6453fc
BLAKE2b-256 5816c9651f53f14288d6f1047759e5e84a858a4fceced646989c26ca5166cd1b

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b576a2a24737bc49c32804ba16f847d00ecbb0bc58f84c2cb9153fb3ecd0f686
MD5 768ae553e8245567404478724775dd8d
BLAKE2b-256 b3c0348179bb4d8b4a1968fbdbcaca640494021190891cfd3cab0d62f362b1e9

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 38b8c2a87133df6aba5a94f2f402b8a4be59fa75cc241a9d77a4b438cce9ce9a
MD5 a7ecba24f9d8c3a0946a1bddf5fa7d3d
BLAKE2b-256 d4cca0d642d9e6f9dae82ebe677046af478764bede7ba69429f318906b3af9e6

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp311-cp311-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 32945ea13139c265efecd20aae3d76bac867c0bccea60ac38cbe4a44a45b94ec
MD5 8cc75f93ce111582d3820bf19a6f1705
BLAKE2b-256 7ba8fef884eec7a0668ab60553bbfada584283f9551ef69076d0b85d2afcf41d

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.17-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.14

File hashes

Hashes for finlab-2.0.17-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 4306d71c9dfe28ac3db7ae1326ac720cbef3d0592d05cb391f3b08c6e1403021
MD5 1053b651ef1c8b72a1f3334be5dbba82
BLAKE2b-256 e83b79c746b1abb7583e6c4fc4c41743d3028ae80ab523e7479fb7ba6f3870e4

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a6503702ef1a6af2b125ec3ab93b1ee3e4760a24063e1aa0800e5d0545242258
MD5 e437244c2a231ea7459419acb86b0d60
BLAKE2b-256 325ccbb857c3d8d3917b507c822bc5d093a8b10fd113b78c1ce3fd014deea63c

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4baeff1c2e54bc9453585c520467eb41073fae4a2e8cd86e4c79c918841a95a0
MD5 39df8bd59dc16fdf34a49381b7a103f5
BLAKE2b-256 94ffc58010fffc705148e24a18f0556a7b38a8e82d3ec58f94f1f166db59892d

See more details on using hashes here.

File details

Details for the file finlab-2.0.17-cp310-cp310-macosx_10_15_universal2.whl.

File metadata

File hashes

Hashes for finlab-2.0.17-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 43cd446a74a896f4728f735c77dd686b436c9e6647e91bd6579d15987383dcfc
MD5 a0328c5bdec1ed7a7e718cfd8aeef371
BLAKE2b-256 006010fe0286b0f0a3547f5ca0e23082536413a851512b7c92c2cc9fce6b3afe

See more details on using hashes here.

Release history Release notifications | RSS feed

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page