Skip to main content

Analyzing stock has never been easier.

Project description

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

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

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.16-cp314-cp314-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.14Windows x86-64

finlab-2.0.16-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.16-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.16-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.16-cp313-cp313-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.13Windows x86-64

finlab-2.0.16-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.16-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.16-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.16-cp312-cp312-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12Windows x86-64

finlab-2.0.16-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

finlab-2.0.16-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.16-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.16-cp311-cp311-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.16-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.16-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.16-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.16-cp310-cp310-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-2.0.16-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.16-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.16-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.16-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.16-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.12.12

File hashes

Hashes for finlab-2.0.16-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 05dc2a9e1452660479372e24a6711e30c26abc82f2c2947d8fd56c07e5d3b1d0
MD5 5ac520a8ca5cbf06acf5a1df5b5a684a
BLAKE2b-256 9f7cfb5507f6b56daa5524b93e4469ae93e4b5559fd380b7fea2fdbdbbb739ca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 20a97c67443791924620a23b6725b6c9172eb58f15f51987104004d1ae0aa127
MD5 b7b426ee86959eaf532642b14e54cb07
BLAKE2b-256 c30b8a9721b2db9ac10794b3ae2fc56c516786f0c2b30f90271ee0eb2a220713

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 91bdaf472178e81bbac5bc622e223250c4882c87a3a857fc5554e5a1137a178a
MD5 7b9e567ef653c4e9b11d765695393e14
BLAKE2b-256 b1063ae4634e8ac0b514bfd0d584308beb5ed3ef1ce7d99bb4abe3ad1a390235

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0fc9f083024eefd72a04fde5d79738271d102fb2baeef57430031d48ac7bc9cc
MD5 359dd9a696f79ede53c28b40b53464b4
BLAKE2b-256 d11b1369c5c01cfaf791b55678a75981fc2c0d76e636703388dc730106d902a8

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.16-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.12.12

File hashes

Hashes for finlab-2.0.16-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ed1bc20b82e4601cdfff26a8cc141dfac791ac28bdb042d6d5fd25cecb3081a4
MD5 c078e48dadf8780c4fbff1bd533d7b3b
BLAKE2b-256 6df40aa9a5c4eb84230febca6d26274318988125edcf201fca82fc13696ab51e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1dbfd1fec732cc9a71403e36f54ce7b1513de126d9a724f6293d287f650ce678
MD5 e43e5404f06eef52a3c5ef6ad0a3c5d3
BLAKE2b-256 8c37c2aecd87fe2a4bc1be4ffef969b23153f6487bbef0285df6ee7bd5f1d3d1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5b41e34e7c7eb5f6fa84a743b9fde2ad45bc06909a1211eb6311d115e40358b1
MD5 22330b32db2ccff9f610aff4b08e13a2
BLAKE2b-256 8f82aa46f0099ac4cdc2210b93bad26a89bb654230445b3c9d533a70d5fedc7d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d772f6597fadbd8c8af6e31f5425ae90a1d6022ae4aaa037dc67fa8a933d9d22
MD5 a3f51ce1c50f5b1ccf1e651092245be9
BLAKE2b-256 b36cf544c17554c0bda6c5776673f7a9d29c3afd884ab155c2217172ca5dcd27

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.16-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.12.12

File hashes

Hashes for finlab-2.0.16-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 9f9486e3277462b423f836e26fc3a81f664937ee126013e09ecd429f8d0c7db9
MD5 6b715eab68cd175e4d467568ed2c8c3b
BLAKE2b-256 8575684e28071eee9374df860028ef129e73e404b66d5ba96475dea0187e5075

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fcae2aeca76247b766cf14940f461428ccbdf1a82b362a162e616fd57f3a3c0a
MD5 1f6b5243723a029282915ad2173cf61b
BLAKE2b-256 deefafeaf392285edd86b8f315bfc57af9d1b11d55fdc6a88cf571bbc0adb898

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6595e45ce9a63de1e4dca172d0a7f7722968a1a606b15d2395a170b8af8c6136
MD5 aa50d898f6b12a1a13a45dfac303537a
BLAKE2b-256 d8cabf3183615e672eca693862b6e7dd6a84c08790c5a35830560b1fd8bbbbc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 34ea3370fe680b18584be1cb6811b0c06d0489c0bb6ebe3402ce8e99e30beeb9
MD5 1f3f4ddf80b2ddbc55793d091ceac063
BLAKE2b-256 df89d707c4a76ee46193814c347599eeea5084abb4d4998fef2ef9cc32a3af0d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for finlab-2.0.16-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 86259dd2e9b01f88cfbe9f3ba36b4a9b3d4c532168715972b8744e2f7c7696eb
MD5 c12dfc24f52a248582c5effaf124e495
BLAKE2b-256 740f91a4f51644945dae15e54dbbe4d2f2500d454a53cbc4a5ba159e1b8d66f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d889f61c857bd5edc2651ea9f93dabd1d3d9a6ee5ad773ab6ddffa304f549801
MD5 e740f083b82100931e263122d97c0d51
BLAKE2b-256 0547f4dd65c44548f428455728b6414d71b2d76cd948ab98b4c083fab8e2160e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 133d0978b0fc9cd32f3cf2bfb91ce0da0e43960f215bb32550fe593f670b0547
MD5 b3ca50c2dba28571d802f1d17818c2a2
BLAKE2b-256 ad8574a5e1cc780b51059d80fb47f29552455f2061285acfe0b276446a2c84cc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 cf698cd15a389edf47afe613105f618a2e9583401d2cdb881848e3853eb5d8b9
MD5 64e5f69b91b008a08b7592d9902b77fa
BLAKE2b-256 434808bdb538777bdb73ebe6577986fd8ce42725ad082d5b4ee7a8eeac28effd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.16-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.12.12

File hashes

Hashes for finlab-2.0.16-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 9aef5ad21e523987390c3cf661124ea07912580014f300c33f193563e6d2ffbe
MD5 92f43375fa2a35a958bb3a315e69675c
BLAKE2b-256 896e458eec275b6d0ab0ee5653be4c1edd3dab4492b788efe5047a089a71c20a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e99dc3425a4dbcc17dc0f59e7279d05e69681118178ee524515ae5c2b7e07391
MD5 6ba6435e48ccb06c67292d0fe0a92208
BLAKE2b-256 0d2aeb136402e32e6f79d05342f36c73b517d1bbbb4b07658c9999cbca70ab1a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f18bfe2ddd0bc3c816bdc4b05b4d06cc30f5c1799a4a233a87937d24487c94bf
MD5 4b5f6af53ff49e0f0fa0ad396275ffa6
BLAKE2b-256 5681b5ac468cb6d682eeb26c195d5c7c9e547ffcbf9630930901ee6a88c1ac71

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.16-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 63c850b2e1c82162477027c77a844f1bcec2a0955614ad39cdc26992d456b97d
MD5 a95e833a768cceb9a87790e1265c0770
BLAKE2b-256 fbdc0bbb1862790648f2c90dd6db1441f87c9b2230ad14ea284cbd74af5fe652

See more details on using hashes here.

Supported by

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