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

Uploaded CPython 3.14Windows x86-64

finlab-2.0.14-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.14-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.6 MB view details)

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

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

Uploaded CPython 3.13Windows x86-64

finlab-2.0.14-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

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

Uploaded CPython 3.12Windows x86-64

finlab-2.0.14-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.14-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.6 MB view details)

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

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

Uploaded CPython 3.11Windows x86-64

finlab-2.0.14-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

finlab-2.0.14-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.14-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.14-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.14-cp314-cp314-win_amd64.whl.

File metadata

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

File hashes

Hashes for finlab-2.0.14-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 0d57506e8a6bbb078fbf53d91c54acb01c0b0abbf481f3c48b949e48ca8fc12a
MD5 cb97c0c5e231026f8cc55215df09e4de
BLAKE2b-256 42b65f228210a22c4b91bf10a24a3fb59483d7d45fcc8462ab95465b8d8dda09

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9cbe9ddcd316e28fd563eea256cd32a5a459921922fd984fe3a07c7f11d15ef7
MD5 99bd5a062ee7f75a193007734df4b072
BLAKE2b-256 539149f98fe8dc6cdc402bac71fb38bf3f3a64769001482d052d8b00c539cbb0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ea0a39fc486bd1ccb99b36d85eb3f1770f438edd86cce1251a64147d0af6445a
MD5 177a01e46edc8efcbb57075aa6e9ea13
BLAKE2b-256 bf6758b84a23563e32c07cd3ea749772def2e23be989b0028ca94fc86b617f3a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2f3e2b638a98e9e5d4a39abd130cf6d69d2489ee8487dd42d8fd301577ea87b9
MD5 051f11a914f2a24b94671e650a82b24c
BLAKE2b-256 cda0d902c88cb174dab7c993ed13b1ce6e405830cdfb7bb11db31d5481a63246

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.14-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.13

File hashes

Hashes for finlab-2.0.14-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 e051bdd5f7732b284886d65d21eaf0aa0c2a93e37c96dfd79be29fafb71c6fcf
MD5 9b933664d2c9e6c7ce39516273191278
BLAKE2b-256 e34e4b8bded0f2c6dfebea0e34117b87a9875af7cb51cb3d9054add1bb440ddf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d929769a08bc95e667ae58234ecce10fa0f13cb627e68271619147e8d930a6aa
MD5 e9e7c1fa1c236a8237c218f01f2f6fe9
BLAKE2b-256 a6fca3e991a79763a5fc414de85b9fc7c7860f6785a47273a35b5f039e489e21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 631a27664998646abd9562bdc8651554aab0dc76a861adfccb99d884440fbb1c
MD5 b07d0b317f47b128b891c5dd3b3c2bf1
BLAKE2b-256 cec09ad0faf1b2a1a6c0bec72551e7cdb459abcbf35cd36b6fc7fb026668b889

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2727d1461b86238e8128536aae7fc68daba5679b2d73bd0dbe5c9f2e2adb17a6
MD5 2ae57d55833f56169ffc3d07f5547096
BLAKE2b-256 3a2fc2ec17b16aced78b76513217f8c7641db3aae951a084e38b623b6637a8c3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.14-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.13

File hashes

Hashes for finlab-2.0.14-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 dcd7d50e32e9e817c649bbeaf2b41e70c4245e0eb0aeb89db35c8fffa30acdf6
MD5 5dac2396b0d0cf6cb7877bbbced665a9
BLAKE2b-256 c1af4ee25a3c7d29678ca5e47b6640b871a8f4adf2457eeeff03a780721f169e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6074a6ed42578b2fcfe276f306aed10d6cd501691af5ac318806ef8ca5becf9f
MD5 337e83c219623dc15b1e57e83a70fbb0
BLAKE2b-256 9197d11914abcc6c9fa116628fc2a1626461f1eb51657de012be83f2b6e09ddf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ef6a4a4e43a6b8affbabd47948330953e2bc00d1c404d57c0d05e3d697d981fa
MD5 9c77a912bc6277556a385f571a88ddaa
BLAKE2b-256 d1a625eaabe39e1bebb9a1e4729ebea8228a4ea2afbac409b8f0fdff35df313a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 cce5662b85370dada877a96a577969733337fedc821aa70b1f3dba4523608af8
MD5 189d49266d44586ae6c10ee724be6d62
BLAKE2b-256 9c039e010d38d136f554597e7c03d84b3b182521fa78904939b0ef6a3e9ebc5c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.14-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.13

File hashes

Hashes for finlab-2.0.14-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 92620f3268db18f35986c19221c0061981c742aae0ead2954eb730d6c86fc779
MD5 de192592fcb7a8ce54f160611cbbb75d
BLAKE2b-256 e81b89bb62733c6b2702597a111632db4be9007ea4dd9633ff3cbf0638b401e0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 62d0adab4f2243515cf927636aed918fd01682f6c65b9ec18cc3043900003050
MD5 f219324765b09f5ba15d3af6d12d36b2
BLAKE2b-256 27b9da524b671947cf616fbc040eedde3b09ec46121d6b993fe81a71e5c4b8e9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 ae1cb975fb849316e1559be9ca25bfde16d560fab6942efb9e60b900f7263ddb
MD5 b7d329b8e7c4a14cb18b5db3606af9a9
BLAKE2b-256 01192bb67b61c2a5fb32e6fec19f97eab668f0faa36fb5728ed78376dfeff6f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0496907bac13e80385ca79404d3cac53e89751a3bbb843b2bc9b792b58f6e6d9
MD5 52c014de48a03b81b4b242814b7b3b15
BLAKE2b-256 21ab1d9f0dc9501c422a47c715416cf1c1548b87a673938c584d04dc7da714fb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.14-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.13

File hashes

Hashes for finlab-2.0.14-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b577c76569e92273dcf9c0770231776bcde9bcb7af8a407bc55979f2730900c2
MD5 78ce9a01319386c881a31277450a3785
BLAKE2b-256 dde4e33a3bec8ea97893579b645771e70a8536702f958ec9e460d5fc7cda6034

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 c97eab8cf076d01eda6389cf453b68e0d8a4924de77dff044d6a7ef439a87968
MD5 595d37a5bc77c12b7a21c9a115a23fec
BLAKE2b-256 79024de01f66ca71d70f595b56767c7e054c2798e16e2c0367e81235d1a4c0af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 b0932caf950a593da02fb7fe631e9e59fe6cd2ba06387be41dc20e6a3a638020
MD5 3b8a313c334ce99ac8ab018c421696b2
BLAKE2b-256 84b8db7d28bfe4c0398dd3cd3ef0b24e3dae296ede22fad10daa67139e8071c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.14-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 095f86fa613cfd0b2c6d6034c14d2e290eab73d05e696b016ca679e7d3483dc9
MD5 ff3bf9d9c8cae52e8134fd33932e9eaf
BLAKE2b-256 5f228ed3e8c3e7a14fbbc54feb455756c330b1c3775561538e2d9009b153f53b

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