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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

finlab-2.0.8-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.8-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.8-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.8-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.8-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.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 c4b423e38a53b1938cb55b4db725b6921a897f0cbece9bc16b872d2ddc8a2449
MD5 07162f9eeaec45a194753f4bb60b331a
BLAKE2b-256 900fbc15fb24aa4a2b2e625860a18360dd39062588a1698d89915f05e90b4872

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9a414607e105833ee9f62aa50ec6db6e737478b77e45d711eae1f1ffbce4e61d
MD5 3a22093e359ff024bdd65889e648480e
BLAKE2b-256 d55b25fd74dd8cc7f30d1bb37f05de6e5bc40661b58e2c4f6522cf67b80a0116

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6cc9c8757ec7ffcfbd31226756c312499f02360cd7b5b3317f9f20a4e3d6caea
MD5 f75de4f4349f48fefad99d139b86ce39
BLAKE2b-256 4bf5571655bb68b1b319965fcb672ac8a253232a8efaeaf94d72d9cca6fffe9e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 69c1dc0316e49e882288f77024fb2104b58bb40c757d26780627cb1f786e5f45
MD5 aabd6d2481b39cd02e5e70b35d3277cc
BLAKE2b-256 e4398e36b3abd40a764e89504ca38153ee52797642eb244ac9dd8221856a59f9

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.8-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.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 6c8184c87e5f5a75a026c5e3fdfcc0c17882498c90f18b85d24b93cdd8af71ce
MD5 0bc0c90467706ece9d179cdf714dc00c
BLAKE2b-256 e3c51d47bcd0a750e9080cb4dd6b6f11c65ed1925e268c6661c77a3bae4fe173

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2579e6ba07626f0afc12d18a5af5f8426bcadea25e1a4b87f977183a6e6470f0
MD5 6c9862918e5113ed61b6d2bc7666b3ca
BLAKE2b-256 2bdf1d13f4f44c142c03f095aa5bfe43c6d1216faaec1e61e8a24dd9f559f90d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0ab1238f1c3bf1f2c2121d782c377893be55280cb596c3151fbddebc40dd6c6c
MD5 f427d142a594a0904410261946cac5a4
BLAKE2b-256 40aeaa18c128bd1a8a1ce5afba65dfffb60e6257b6d4d87369de572bc0777807

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 14987a233baae23d3b00218076f3034f70153511bcc6fbbf584179de7adbc242
MD5 452592595c4e472a614dbe338c5d66b9
BLAKE2b-256 31ff0ddcad1cd1f93ac1ab71554ee1cdafffeb3ad5b2a5edd5f269f1c7d15323

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.8-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.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bffd11e321ad18e39a01079b76281d3353907b54bb40e6451b57d6518357a6d7
MD5 b1cc4c4e3c40ee7ecaa512dbd7fec0ac
BLAKE2b-256 412666171ecd531a357edb6f9d7bbbe38d76c0e2198c91485a5610ceada6bbde

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a2f41860be33d149ebaed738717a67101ef5c72d72657058b7c11adf0ccb655
MD5 ee0ee12a776a03a0fd86d82c602cc6ad
BLAKE2b-256 69519929f0be97fb1bff3f23e07adf328cd334b029caacfbc9679362bf45a1ee

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a89e32c43c49bef4702c3d50a5cb6479fa1e00913b306ad16c271348e74a927c
MD5 9786e59252959eacac1f3085ca0d581a
BLAKE2b-256 211f55f5dde82dc1a44e0b5fdf5a42402b2b377c79faf6c9eb2cf9aa3fc84a7b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f52e1e00f5429b40e54ddf4d3e0abe3e4638817114609ebb5279e811919b2787
MD5 38db936eac406965da762629e57e4098
BLAKE2b-256 068a967e228242b8ca778982f22bd553a60e1516a5b28a3a7ef270b45f357dce

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.8-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.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 675f0b14c08c9dbd93c7db7a19fc9ced6d5455f42eab9564b77c55e22241047a
MD5 05842b91c0e680e8b41d531de80b71a8
BLAKE2b-256 1449628a71ebf3c9aa7aa1e3da096c18e847642b4f9833dac3efa99550883e92

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 24187314521a53ce2daacd48a56e66e3983b6a4794f695c9ac746d7b218873aa
MD5 d19a2613a74405358cfdf794a32ccbaf
BLAKE2b-256 c7adcf229c29c62ba83d138dc54eebcf48312fe55010d5b50e6c9cd0485a7965

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 da9abf887e66cab5660efb6cfcd3bcf3931722ee4cee373fe6f2effd1a7d504b
MD5 5de1971e93526127e4211ee0a8a0fb3f
BLAKE2b-256 26d72b1c2589f65797c8917bff48fca825c7c80af7ab714bfab811a27bf8fef7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 f9474126976b33a366477ef61e543c9202eda2e127c2503dad90389010275134
MD5 23ff52761b0b5c92248bde41c49d74e6
BLAKE2b-256 f04214ca42c5e06d67d6d928bb3a5f9e35aa5cba799cb7ad89293e77a3034ce3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.8-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.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 b1dd930b79148238c38c7a1675630ac93b669df738522829743f00b85563d263
MD5 3b8ee7c72a34c4c22930f57bfa97ef66
BLAKE2b-256 f0f3b7cfc1b563642131b10368168327b5ad78f03c47329274e3fde1d5fe0dfc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 59fc459baff3b84123b18bda81283b57ce78f0ee603b933ec9f70c915babdc0d
MD5 6470c605d375fe8010cacbc67deb7983
BLAKE2b-256 92967e86a9c0aeee8244c56696418b52455e79da1c2a4ad4b1c205dfb342710d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2dd6a0aa3273e7a9282e82495cdf7e30377ca79955fc7642629eba6ef3f7477c
MD5 07e966708ee0c4fbbd6e232af814f282
BLAKE2b-256 d69cad4d5974151eb7568bb2cc05da6243ff43a38658dbfaf4f9d49a2f87fd8d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.8-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e4fc1d5fe188cbdd281a2f5d9f7371ba446a0255e42e7abfbfa30a94d3382829
MD5 ce71184548f8fe134c614b106254e637
BLAKE2b-256 e0d17cd5c17c508a69b0666322d9dc5a0e5734e8e869479b28f474bedca1ec3b

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