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

Uploaded CPython 3.14Windows x86-64

finlab-2.0.7-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.7-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.7-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.7-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

finlab-2.0.7-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.7-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.7-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.7-cp312-cp312-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.12Windows x86-64

finlab-2.0.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

finlab-2.0.7-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.7-cp312-cp312-macosx_10_15_universal2.whl (2.6 MB view details)

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

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

Uploaded CPython 3.11Windows x86-64

finlab-2.0.7-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.7-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.6 MB view details)

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

finlab-2.0.7-cp311-cp311-macosx_10_15_universal2.whl (2.6 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

finlab-2.0.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.4 MB view details)

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

finlab-2.0.7-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.7-cp310-cp310-macosx_10_15_universal2.whl (2.6 MB view details)

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

File details

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

File metadata

  • Download URL: finlab-2.0.7-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.7-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7f063df9ef5948c69352afd2d9a4ea65f79ea9b20da5e9f354d10a163f674edf
MD5 f71db5b1ac2579159d14cab232fdbee7
BLAKE2b-256 89b270fdec31e79514acaf22ee1c424f6b636df259630ec4a48fd29e9d974a58

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6ac873dc59bbea3d0f6a7455513998971ba52cf6d2ec8c4ee57943357d014d36
MD5 abaf7ad1768c0da0de59757634c33451
BLAKE2b-256 52c2f1456627ee3da22de41351adbcea2ba460eaf929e7246e9cd9ec60243f52

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f88de6bb5aacbadc21c069f6cced741b15a1b0aa5898ecc30560e799f8d25816
MD5 47362d3afb5481560caf239c4db7a303
BLAKE2b-256 a90baea1ac3a2952217980eddf796be0706c92105ec531f1e405bb0110e83767

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0f174edc1f92afde8bd72f709a623855871eccaadab7526f35a00b8c2b9284bc
MD5 cdfa5a38c9a3785db49d12dc6bab7d73
BLAKE2b-256 003cf2f1797345d4a02b0d42278188cc7c42974c44fc747d6d4bf154f5d813d3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.7-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.7-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 d98fef9a0e8c74a8ffb4e375af81fb93d666b31a5313487af1c310e387affabe
MD5 022a8fcc3fdab3a81c9ef28457a550a7
BLAKE2b-256 ce8b2646698600e9a878fe1b2275aa5004e60eee3b4a4dfa17b4f2e5ec809c9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 f0ca59ed26766fa2f9e8ef982baf9da3a159d4492c62c6a623edcadf30147a29
MD5 0365cdb8f3591120d0a25d06f193c93f
BLAKE2b-256 7633656b97d8f839e30ec691c30f2af34acec95e5b62a40019a270681f1e7886

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a1c58c560f40b6f0dd7cab67930dedd7afdfe3834c582550c55d92af8ad31a92
MD5 956ce938f8570658f96f4651e2767597
BLAKE2b-256 d8054077b1cdb4809add36cc99a23a5b8923a48547221129e4cc52adc7d9531e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 2fc0af9ef797f8e96a426f12c487d6c5631614bf004402a8be041fd1d7c9fb26
MD5 58dd254b35b31b242d58850b3164415d
BLAKE2b-256 c15ddb56de86d3bbde502c334d852957d7f93665f5fce9c65d24437d2a6f1f98

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.7-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.7-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 7eafb2965b180a57d02789ca2f696d0d9ed33dedebcb35a5288227973dfb1c63
MD5 c021e8ad1d8fa8921f7e8554908f7a7f
BLAKE2b-256 01756c77410a564bc46817a298ca8a132bd6aa0d74562510da3065a5ac5a720a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 22c77cb9a214ab4ac40a4892d82f0ee08ddae131ffb220f1059a8d3f52d21b95
MD5 4a761f2a9cce005fd77a67087f49ad51
BLAKE2b-256 7346afa58391b7bd3fd8105e8404bdfa2d81b597e4b3699eb0e966ca269f68da

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 874497d0a4734cd3d75ba78327e73103730c710af3fb6b54283da03ce8e2ffac
MD5 fb91538104e95de46d54a69691426956
BLAKE2b-256 863e77d83642c31871f849b7e0de2713c45fd4f46a07279409f9aa9338b0d91f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c6588d2ff94ca9e7d4def67695aad305c1ffda90ec4bf4658b3501616b2533d1
MD5 b17f9e8c243cc9231088432fce5ba3ff
BLAKE2b-256 2cf845a83c185dce5139a6c749bcfde5af16ed67a18f65a64f8853f3cb0e8636

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.7-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.7-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 dd0049541f36451388f881fca1163403ed6c5b569dc1d68908b7e2a1edccfea8
MD5 2392903f0f0f2a29f2331c752de7b7f3
BLAKE2b-256 0724ebc8b109d4e0c70a77ceaf2b2d179bbdebb3a1ec3369a8a83e0cb19e20b1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 173519922de8ac7036c3e9809baec9d68cb958c6134c9db8ca427acd33c22e37
MD5 257f1912a8473723b003d97f66dc6fb4
BLAKE2b-256 3b522d57f48236339579cfe35b4bac311a2cf85ea270b524ef7e9489dcea9536

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 4adfab9f173f996dd54473488b43737eb6f49ccffef27be8dc2b1c7013b4ff74
MD5 c4d415efda819fe77c9b503c28d7983a
BLAKE2b-256 e5aa12d753c600b4d3da35dd0fa95760a47b3f320040496822c30d11bee1874a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 ad59d1c4bc89ed38dd0b4f97351d1bda2c8cc66b2445cb6f7ac5e4a19b959d6a
MD5 45633981be3b9bf11d93834555de5843
BLAKE2b-256 9152fc756ffbd91bbc606ef7d1364f5232f0901fc35852bbd625f945913ca2ef

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.7-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.7-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 5cb75817e7e8d94fc2d7ffb9808db2ad82a5ce48f10873e89968663999d084ce
MD5 8b8463ecae47aef6620cf69efd1d9cd6
BLAKE2b-256 1299f1998d61f105d2210e384695d5641840f2d2cf76885d280a2b3db01226dd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0997b8ea5ad190ffef0f90acffb227495d4b013ba6711b1625a06628a064509c
MD5 1bf0787a9ee689d6d6c1ad0d75a34031
BLAKE2b-256 965889ad0818ec6ac0b32e354e69cc8f87607f106c45b943b86e54cf937fd757

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d9daa3fb2a8fe8e3ebce94767c35f1a8dec4dd31d16563a802b2a8439a511c87
MD5 2569ba7921963e521ae8a1a1df074bae
BLAKE2b-256 2c01a7e63b20af2e1ccbcd2544eba9d40ee128bfe7c9fc535cf949f2186ffe06

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.7-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 7cb1e2ed550cef4463d77063f4b7d55f0fad36175f6333d66310dfdf4560d0e0
MD5 1ed5db17da948833e5bdfb1cd9a4ed6d
BLAKE2b-256 6e4fc68a7b1cd3ee302856c9501307e4b5ca91a9293ae0467f7521b92dd7f831

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