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

Uploaded CPython 3.14Windows x86-64

finlab-2.0.10-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.10-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.10-cp314-cp314-macosx_10_15_universal2.whl (2.6 MB view details)

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

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

Uploaded CPython 3.13Windows x86-64

finlab-2.0.10-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.10-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.10-cp313-cp313-macosx_10_15_universal2.whl (2.6 MB view details)

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

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

Uploaded CPython 3.12Windows x86-64

finlab-2.0.10-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.10-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.10-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.10-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.10-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.10-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.10-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.10-cp310-cp310-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-2.0.10-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.10-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.10-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.10-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.10-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.10-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 995b876758906367932bfc6ef49dc4f5b35f00e8113c1926c5567acc9e078ed3
MD5 136ec2c9e9b89f2033fa065ba4e2dff0
BLAKE2b-256 377c4aef47e07afcc5c69afed0c23383b11d84db4ee9549329672284a27c624a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 702722a4d472d495cf5beae3ad62d14a4c91fc8dc7abbb9f3d516890a9bb77d2
MD5 b23c1f0970a22a512a67f77b680298f5
BLAKE2b-256 3f708c63f2c3087f221764e6de3601b7e9981a59faf77262f348071da4097717

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3a3c4101fb73ea6d43e9319f4e5ac1721f914c5fd21edbbe6043632fe23ab1ad
MD5 644c2c3146d6483e9e6b8aa54c814965
BLAKE2b-256 211609f5ead1698708554255fe15ec261a47b1a2574969e1f806b4ebf14266f8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 aea77db1102b48eea546947a35e90924b3711911c409dc7b615c6a63e5e6c5d0
MD5 dd57bf1fd80b39fb81996225663dd80a
BLAKE2b-256 7d84e48ab58cd7aac1e441b753cce9207819d704ea332ce72badb50a9e1a8fcd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.10-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.10-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 382ae4258705d2c416dfc905f9c8beb238893196b63b358a5fcad25e40ba7834
MD5 2c352c54766f6ce2bc1f14a4335bd7a9
BLAKE2b-256 1cdfd0447f9022e8d135b4390d7aeb9610a7241a781a2b6f71dbfd67d4e3dbf7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0b606c56f4ff396ec1805577c1ad659b47e715d341bf9713dad0c82442d9d01c
MD5 f1b7b1f4347c1b840463159f491d9d01
BLAKE2b-256 5620c7aa17c8a5aa1b5352b0c72f3e188cf58f3e84069097856508c28d0b82bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 9dd601a3ba6e54fe3fa637b78ce272b8fa176d64c505d32b58ae762c9706639d
MD5 707835e3e673428da1102a29f8423924
BLAKE2b-256 4b29b135e1cb05439c335b7b1f13d49b671b660256b18f70e980e476e19bce2a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 6807fddd9e4f25fa6225d3f073c7593a2d7fcd778d79a6849a6c76b01adcb56c
MD5 d870e77a3f981b7a8331c4c78e3673d7
BLAKE2b-256 0012f98615a377ee4f94aab11b93d9fea4fcd93b781ad32b20adc30b3d5c2f4a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.10-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.10-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 0ab0df2a9eeef426e101a66f74caa072a2280ffac81621ff38e511f7024adc5c
MD5 0f9f09ef55bfe8cea871d9cc4a15995e
BLAKE2b-256 9b4f9da8902119e0f82adb2b98209904c3b87f6ed61d72bf5f9e953b4582f506

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5f35e0d43876e5a7c95d254cf369e3ece6fe4ce09f3024e84793696db06e8543
MD5 6760c83646494c41ffc53133a2c925a6
BLAKE2b-256 ffbeb3aa907fc73f4c9692fcfa5352633af16b63442517e9b3bb623d803c92e7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6f70283be086a58a4fca56fdf0ccb0b3da2aadb440a4b56289dc554517ad877f
MD5 153cad5c27ba2ff790ede700126c3f16
BLAKE2b-256 fc9d3396d357e9806a62c225d62787113d7ef3f62010e86c5600e197d5b282e1

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f928743dd7d29c3f8f319ba107c3349e8a3a1f800ded9af670bf40c0fae07f40
MD5 3555fe551c914e66ebada512f736912d
BLAKE2b-256 d3001ba7c8bc8a7ce329c626928429c0813ffa3249c8501bce0b01fd2817252e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.10-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.10-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 47f0247ec30afd65132df6fbdfb2d48a8fe865f7737a7d221a43d16916f6f7e2
MD5 ab879606b9f91da057b4e9d0e68ac6ac
BLAKE2b-256 6c64cebbcaa0979484e1d54ac70f550abce72a475415923f42f29905fb1072a5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5b77d971f759eed1e2dcf063104859c5c7a8c1dae1aab8e49090477c6a512128
MD5 f77e52983f3489108118c790789f3b50
BLAKE2b-256 e902fb2010daf021e54a340aa414b7ea81ccbfc69cc102d1dcb7fa5433436164

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 f2a90e0b340252fbf5b84bb89e1890afb879c03782c77aa08d73d58ac71dff75
MD5 728ca88f5dfcd28429e667f222e2d75f
BLAKE2b-256 450d45bfe6cd57e87338e7563601aca80e5ed6f46667d5859dc204a6ea174fda

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 73a0b58a01d31a3eeaf0b12aceb013238d06c307471b67e4b0ac427082dbb82d
MD5 2f81eb020a9d0f2d8b3d869fa4bd160f
BLAKE2b-256 30faca5e2c0133a84b55cbf9f30ffdef7345044a261e9d35f5ecd6b197679c88

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.10-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.10-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 02e4d0965552bfa3819420b3162ba00e85f905622617365818bf4d23d58fa656
MD5 d8ad226247c7e8efae4a8bcb1181b848
BLAKE2b-256 b1034ace263e0b146ca553190470d1b0ef30e29b9ea738cb4f20e5e510e79879

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 961c5c4a0136dc3bd30572ef34b95f0958cce6781ab25336b60b3dfc15d6af69
MD5 6e50b7c00ead52e9a15739ab3d4a437a
BLAKE2b-256 aed9900e215e1c275dfbad6b902c04c2ceda187106df3c63f74d29f2c4e5fabc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c943aff930c37e6b6f7a7f7204d838aaa79d8edffaad2e456597dd3c0fcffd36
MD5 b1a645461d831017421bf4372ad1264d
BLAKE2b-256 675fd480c04d2ebb6dae2f7e01ed8f43e597c2da675a9b6b1adfd1a68a453669

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.10-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4fd13ec5c33cb9263a5e89fb3432fbe347c4c57a4809b837c6200aed36e95ca9
MD5 3232a00f45e7c23f5f05f89eea7f83ed
BLAKE2b-256 a0b498de6e96365e8b8def0a2183ca0354333cbeae8cf5b6b91ad814ca86d8be

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