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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

finlab-2.0.18-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.18-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.18-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.18-cp311-cp311-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.18-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.18-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.18-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.18-cp310-cp310-win_amd64.whl (2.1 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-2.0.18-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.18-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.18-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.18-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.18-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.3

File hashes

Hashes for finlab-2.0.18-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 d5fc080ee8d2bc1854a5f92f47acda38dcc2be22de09edd688f9ae884cc229c5
MD5 0b0bb6c942d0ec815770e9ea23fcaa67
BLAKE2b-256 56e84bdae98a8d2d69beb52d85b900222da436a7e47d1c34f89eda2ffe04cb23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6a7f7e7df3a833eed1866b16a8b6c9f95f696f4e645e212fa6cc5014c89d6a74
MD5 d7735c0fb5787edb90fc900d5f9c1a55
BLAKE2b-256 7e5ac6e8ce7ec94196efd95d56b18c54afe117ec5d4e28294e8207100bb3749c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7e86069f7a7ddada42bcdf8f1882bc0c46556ca7b6c36291d30d4fed913a1b7c
MD5 7cf3763b7c7e74933c1dfc094ca8aeeb
BLAKE2b-256 68be4a68a144a9a62bc88aaadb3dab72cf93569fb2e7ab30b67cc421abee4efc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4cbbd718b79c26c6fcc7e4aa588bb922a8631f9f109f7a13b9fcbfc1b26ee6af
MD5 97055c71f28a22739adfaedd80616994
BLAKE2b-256 b261d79a90c723563dc7ee009d56e4b4c780b1b88e53ffd00942fa9e0e36451a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.18-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.3

File hashes

Hashes for finlab-2.0.18-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 da2c417968fcf7440a1cc514987a8976c25320d79b6a983d725c545592a58391
MD5 48d4a44baaecbb626a602140359c61cc
BLAKE2b-256 06e9a2c3de56a29df8fcb670a476ccf722cccaa616dfe7e3201e32c8e0ffd676

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 60b2d873db9e2beab858f9624bd696116952ec8a190baede8a072d26ad73e09d
MD5 19a79f2e304211cb4c14e00dbdbaa7fe
BLAKE2b-256 29a8bdbd5ad32cb8bf5ef9ce2604c7ff25a4812a953889f9b610d6688e25b90b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 dc5f753f88c803034a3682c8d708e8a4d2c24ed0b11fb57d3d93aa2dcb355aab
MD5 44cdc09c34308692c75a6b6a0fc26864
BLAKE2b-256 a905a04643fa701352b36d282b3a4cf260d53f52e87df87e3738f082cef2a956

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e4f2e0d4a3a948bce26469f169ef14ec3c9b95ca2e0c6d7cdb951637dd516dcf
MD5 8e415ec2354ba1232504e8be169a5526
BLAKE2b-256 4dd4c12db83c55609c3c671a4f610e9b9504f869aa68ca786ce77d3601ba6b34

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.18-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.3

File hashes

Hashes for finlab-2.0.18-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 98af2f32fb3cc542f277bb45661525eae530c8cd93c310f1408d3cdbcfa3b039
MD5 4eb7dfe887102307e150c4c4de1e7102
BLAKE2b-256 226d0f6beb4023b2bf5424093258c60fe911826d031523f2035180acbeb687d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 453380b148405c11a9476382af635c539318aa7b119773e7023fd9f1b847eebb
MD5 978488dffd2cf970fa533d17f85a74fd
BLAKE2b-256 598c2461243c761174d8bc7ee0c5ae7bf69b7812f672e054673264c4e0d1cf0e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ec9418970dd91751ff166b54be35f7bedd2792ac9edd1aef5bcf62111cd97dfc
MD5 ac6f4d70cfc8b23e1af407095aaba6f5
BLAKE2b-256 8a3926554ac52988681fa8f4fbe8fa22e7ba197267fa31a7c61fab44318202d8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 8c9b161c96228a5620931a26e6b0ee418ebbef1789cef9b75a66357c8aaefbf1
MD5 6179330c998a99020187cc3c4e2009cd
BLAKE2b-256 4974ad3ecb2a3b38588b78d3b5c188712fbe71fd1cb15db5eaea385b8655f6c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.18-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.3

File hashes

Hashes for finlab-2.0.18-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 732fb48238338f22ba8c39ee96977ce76c7575027d0b7b24319b98fad68a3938
MD5 a8c6a68a3266a2af92a0ca621881d772
BLAKE2b-256 ed3a633f743b94a7fb25aa2b017ed74afdaad6268cf87be25edf7ee863bd96c8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b354b13ad98ba2d538e37600cfd75c9cae80451cfe939b11816c3552aeceea24
MD5 daafdcc5b69dc77eebec73463f118f78
BLAKE2b-256 46e4d0a246ba46e9967af851e1dd68eb70aa1322dea843fb753b5065e928d3a3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f1231a692257dc630451bf842b9b786217d4291f47771a19cd5d9c3ded36624e
MD5 fed5165b2b7235e2c7717f0e12e5504a
BLAKE2b-256 74e8ad36a3820d21cecb853c584dd71c89ace900c3d758e3421cddd02b391003

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 d180c7ec8bd09e6eabdb79c6eaab760d2ff69bb2c9d3d61ee954e5a2c7c03616
MD5 4573edcd32a081cd533f447218dce49b
BLAKE2b-256 f2fa70ef4c90433c4a8db43c01e3456c41622b93502541a70c7194346801ce19

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for finlab-2.0.18-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 347942b631c350a120621a76093e7959953ab6397043bd61aeba9d3aea28cc18
MD5 0705d8fb8e735c35d50d47959843c1ab
BLAKE2b-256 a7e214174f298c884e5580ec660b6f943415755fc7786c83847c4decb9d2d9fb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 3a91f2efb88dadbc1c6d9140e2d3ff66ea27c4f2be03667a40e369bc84d63bdb
MD5 ddd4c75a313e0f7afb9b0b6589722a4e
BLAKE2b-256 fa10b387a01ba66d3b23e89bc768e04f236407092bb82899c2395c493696fef0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e4542e9393b49f7defa0d32d5f062959a5fe6178dd280ec219c83195903a967e
MD5 681cd149a9cddfe17fb7ad30fb33404c
BLAKE2b-256 c029ca3961a7e6c0f6e477f402cf5dd93a9799d921afc8ad37e8cfd9c7172098

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.18-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 7b9bd2e9fab248d286d0307b2b4f73f0f44089dfa20a8c7af2a2203b005592d6
MD5 999d6a595da3671df28d01161e0eda93
BLAKE2b-256 a86b1bfd786cf3853eb0a64cdb32aaf7ae3668e88bb34df58ae3d5aa97346284

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

2.0.18 This release

20 files

2.0.17

20 files

2.0.16

20 files

2.0.15

20 files

2.0.14

20 files

2.0.13

20 files

2.0.12

20 files

2.0.11

20 files

2.0.10

20 files

2.0.9

20 files

2.0.8

20 files

2.0.7

20 files

2.0.6

20 files

2.0.5

20 files

2.0.4

20 files

2.0.3

20 files

2.0.2

24 files

2.0.1

25 files

2.0.0

24 files

1.5.13

24 files

1.5.12

24 files

1.5.11

24 files

1.5.10

24 files

1.5.9

24 files

1.5.8

24 files

1.5.7

24 files

1.5.6

28 files

1.5.5

28 files

1.5.4

26 files

1.5.3

26 files

1.5.0

24 files

1.4.0

24 files

1.3.0

24 files

1.2.27

28 files

1.2.26

30 files

1.2.23

30 files

1.2.22

30 files

1.2.21

35 files

1.2.20

30 files

1.2.16

30 files

1.2.15

30 files

1.2.14

30 files

1.2.13

30 files

1.2.12

30 files

1.2.11

30 files

1.2.10

30 files

1.2.8

30 files

1.2.7

30 files

1.2.6

30 files

1.2.5

30 files

1.2.4

30 files

1.2.3

28 files

1.2.2

30 files

1.2.1

30 files

1.2.0

30 files

1.1.6

30 files

1.1.5

30 files

1.1.4

30 files

1.1.3

23 files

1.1.2

30 files

1.1.1

30 files

1.1.0

30 files

1.0.10

30 files

1.0.9

30 files

1.0.8

30 files

1.0.7

30 files

1.0.6

30 files

1.0.5

30 files

1.0.4

30 files

1.0.3

30 files

1.0.2

30 files

1.0.1

30 files

1.0.0

30 files

0.5.13

27 files

0.5.12

27 files

0.5.11

27 files

0.5.10

27 files

0.5.9

25 files

0.5.8

25 files

0.5.7

25 files

0.5.6

25 files

0.5.5

25 files

0.5.4

25 files

0.5.3

25 files

0.5.2

25 files

0.5.1

25 files

0.5.0

25 files

0.4.6

25 files

0.4.5

25 files

0.4.4

25 files

0.4.3

25 files

0.4.2

25 files

0.4.1

16 files

0.4.0

16 files

0.3.19

16 files

0.3.18

16 files

0.3.17

16 files

0.3.16

16 files

0.3.15

16 files

0.3.14

16 files

0.3.13

17 files

0.3.12

17 files

0.3.11

18 files

0.3.10

18 files

0.3.9

23 files

0.3.8

23 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page