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

Uploaded CPython 3.14Windows x86-64

finlab-2.0.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.7 MB view details)

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

finlab-2.0.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.5 MB view details)

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

finlab-2.0.3-cp314-cp314-macosx_10_15_universal2.whl (2.5 MB view details)

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

finlab-2.0.3-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

finlab-2.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

finlab-2.0.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.5 MB view details)

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

finlab-2.0.3-cp313-cp313-macosx_10_15_universal2.whl (2.5 MB view details)

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

finlab-2.0.3-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

finlab-2.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.7 MB view details)

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

finlab-2.0.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.5 MB view details)

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

finlab-2.0.3-cp312-cp312-macosx_10_15_universal2.whl (2.5 MB view details)

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

finlab-2.0.3-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

finlab-2.0.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.5 MB view details)

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

finlab-2.0.3-cp311-cp311-macosx_10_15_universal2.whl (2.5 MB view details)

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

finlab-2.0.3-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-2.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.3 MB view details)

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

finlab-2.0.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.1 MB view details)

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

finlab-2.0.3-cp310-cp310-macosx_10_15_universal2.whl (2.5 MB view details)

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

File details

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

File metadata

  • Download URL: finlab-2.0.3-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.7 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.3-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3a022020b43bbd0686bfd28b440e7c3be841b95ba507751073bbb4474499ac7e
MD5 e74b5515e1a6828d4f564ce49dcdd36c
BLAKE2b-256 7de2ed4a7cdac3894b3fb6a624c0ef07461261421bb762db4dff2c85fee2c48d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 565dc272d99314cc0c332446dc80b9e79cbaeed437e1e1c7495f0e56015b62a6
MD5 b384d6304a48ef4c6621dd6a550f5696
BLAKE2b-256 565380cd1b94931a602606a293c6dc84298e8cadbe05096a06c6263916f2e1d7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c100396b0342f2d8a71bed5082c30999ea53f9e7ca89cde2d561927e38dd35e5
MD5 a2a21802d9c4745a86ebc36c26c1f8c5
BLAKE2b-256 291e25e0b7d278af9e2e6ee70c4fcdea77482e3b9a917a3b220b7286968adeed

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5a730bc1aef652a06d1e3948082802e81500dcb76ab4b6318e9fcaea03e526b3
MD5 655d4fa32f1514f9990ebdaf2987b095
BLAKE2b-256 98ddf223c6f223c6c4b80ea51654e6130f91e68dcc8694bf76e414cb2de6710c

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.3-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 1.7 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.3-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b88c2902e845b74fb3d50d9caf65dd22933a08da2d3ab6d7131e731d5a700e70
MD5 67e965ffb8d7e15def507d73737ee3fc
BLAKE2b-256 7c1ccb1921fb17f4340ce0b3a84266927573f7587b875417e90250dafbd4bbc4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 acc9856f7ae0ee09d4f1d2ad89bf60392aa1113abb2e92ddab0f624fd421f8e8
MD5 14427186902d43722d125669ddd2a4b4
BLAKE2b-256 609bea9552d7905ecb0e95d0d86bbb2163ca0349d35962dd5e716cf407d37413

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d54582a96f46730215131f58bc033ece8d4bc2c2b0a5ca58984939932b3e247b
MD5 17e668fb1990500a0ffb3864099a79b5
BLAKE2b-256 f9f238420e94570f3e3bf417f7437c393b11f8f2842c033ff57e85d453a2c173

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b1b2775767db7ae855c3f293390fc36f9c681ab0a2d4160bb61d5dca2e7feca1
MD5 8426c414da9143b8bcba3533db0d0532
BLAKE2b-256 986ca89b4afce6fa7a46d2b9cce345a32baa575c7ad0e9e907ecdd855a533149

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.3-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 1.7 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.3-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 99aae181d959a2e7b8bb7db474aa2637b1977756869219749296b1f1e236e58e
MD5 0a3be0692d537566d173b95560826e69
BLAKE2b-256 3fa106190e1e3dcd1f6d5d6f3c94cc4c17b2f66624d048460fdcfba75ce0ac81

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 67469c66731f0f265b8ecc58e2df87c5beba13aee2e4c919e25a4752e2d29a72
MD5 89ffe5fdf1738dc5123a54a98b98c32b
BLAKE2b-256 6cfcbfdd5421ebd2b82788519324b567d8e01ff55d3920289dc53651b4929bcf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 29b17f3a7c436c3d19cbd49746b763600803d8637abb79f16de908855b133fad
MD5 c9f09595cf07f5f9265f035e5d5e6b60
BLAKE2b-256 3f1bc48c87f6b752872d670d91d1c9517271a43891bf9e9a38db6c2cfc82f74f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2c855da3707573ba1a1bbc8a607c076619cc2720ee575b20351a59bf0eb76640
MD5 8062b25f25e9e3fa2083f51e6db4bb65
BLAKE2b-256 fd1a49fad2b8783c6ebc8467995bb8b1f90078e170505141ba3e7a17bd5a5291

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.3-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.7 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.3-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 bb2adf4ef930df8f9b7ea5814a82499661e22b47a6e5064ec6485e831b776ac0
MD5 5c1f0011dea9a0d4efd11ae8ccc91979
BLAKE2b-256 4b464cc41bc147e167b5c507385ba2bdea4cafe4ad3a8bd2c254ba873fd835a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8ef471df5b0108279d1ac636af6c472e00ca7e44e8ac75238e074584cd56d8b7
MD5 874d868e49d923362d8dfb45784e0002
BLAKE2b-256 89d01fe0760a0eee906cdb4eb2d57eb776cc6ca008e259978f3dc298ae994763

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e61d3c6021ead6fbe756f333fe73d4ee950656ce53fbe02b62050717f6ea0659
MD5 cdde2f37a14f8aa197a529cc91f1f547
BLAKE2b-256 b87f846bb7517b8a90c2446bffcb9b904268dc8395c9bcb84bf05d723d57c1c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 b695b80a0d05b3a2ef314c46254e85fd647c635b26f6abe44d237e750de8272e
MD5 62217ad291c323472fa8383f6460a700
BLAKE2b-256 012ff27202678436a1d092b213016b39a2aaf45b99f88e0e291292a5fa124855

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.3-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.7 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.3-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 7f53b514a1f38006bdcedb8aadba6743afd287c4d8b9792e9e9d798bdde8cef8
MD5 52e866438e20987afa387eb20d5b586b
BLAKE2b-256 869071883d16bfb1bda480372b9484b0289a748b9d001fb2939aa9833481a5cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 334c25fcf26329c70a1cc5a6e4c6ed16e844c1f59dace244649bc102ca5e7901
MD5 2a7c1dcf7287fc2fa1dfb75ec16bf0ca
BLAKE2b-256 200fe8d9cc93b25122c5077be2c4d4bb45cf4e128dd2e3e516e8cf64cc054a24

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 321f8bd03cc26ba736223088d558f32560b517c47d04444544cbd489ed384167
MD5 14f3153c8142c7448e461c9b8e357544
BLAKE2b-256 847a66e5851430c28d93cc96299071b266e13adf1f1b9f3873e85fcc4bd9f64c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.3-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 ed5ae87073be90a2843fbb070ca5fa24798d252ca4f8c60c899c82c13d9ba964
MD5 9b843fa5698a486fe90a6d4654ab4033
BLAKE2b-256 a662973b7e015e8d86a21cb337f8d5a87469f87aba9079931255e4832270aabc

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