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

Uploaded CPython 3.14Windows x86-64

finlab-2.0.13-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.8 MB view details)

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

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

finlab-2.0.13-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.13-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.13-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.13-cp311-cp311-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.13-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.13-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.13-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.13-cp310-cp310-win_amd64.whl (1.8 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-2.0.13-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.13-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.2 MB view details)

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

finlab-2.0.13-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.13-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.13-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.13-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 66b538953419730498f8b6a672bb85d5c32c2b385cb4dfe79b78cb83e00ae5a0
MD5 16f29a5a032a514944021b69567732d3
BLAKE2b-256 46de10d2abc0032924f15a43cffa2df927970d192d694a90bdfef919e96790b3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 b2f0de6672178e8b8cbf3fd6ea3547281154b05f09ead0f771ece4a099a23699
MD5 406bc22b970f060b2c4857177e43f9e2
BLAKE2b-256 82258c3e386b73326f569921799ac8a6f6636760f08db19c5406907b8b2c0737

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 89338ce66d91ee1b4b066fcc0fa0ad266c1fe5a2073fd346a45a038cc243b37a
MD5 a927310d7a7ef1acf631497c52a29f05
BLAKE2b-256 85a6fb9d5619b621e0e5789820a9873a868b2ebe10e99dd12f9ff0ec55cd0512

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 4357991649e86676f6af26735e62b7cab20ffba0c1c583b93a2edad8a3065b85
MD5 99beb747aa3433d55d1c1cb13725b461
BLAKE2b-256 85014a2e5a010f83082416d12ee1b673429b7bbe9221c5b0029c2ef1d5a5bfac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.13-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.13-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 723f6f48a810f6c5ed0493076602c2a7c103022f53e4453f244c5b41274e8d74
MD5 3e2014e3c10dff4f467583e2f7482a0b
BLAKE2b-256 76a5b3a94cce32af4f9285f99e65c943a6f11be670f57608c207068b5e1d39af

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 dd6495224fed288607d282f563c5d6418717edd787fa3649ba51fcfb4ad5ccb6
MD5 7c68339b53226481598e57e291332bca
BLAKE2b-256 4669d1fd903c7fc7ac4bc266ef8b795617738e8711446da872686552b6328a98

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 24e2c8b55b0ca7ca6ee2b6e09f4827a9d3d702be3d80e81bf448de40a40fd3d0
MD5 8bc73ef104cf03ccc6318e92e1a82617
BLAKE2b-256 8721e974691471d02924865837bbb82df58e64cb0b0d545b06924e76ceb99190

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 926047b9b09231955d07d56087cc6bb6f75ac47f0c878ba6ab8ceabb335858e2
MD5 ad1c026c51a76509249b0a0e8f2fa202
BLAKE2b-256 1b4ddd3a51c2c50255ef19df11368f2ab10b13870d4ebe1dbcab8d88f5e453e4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.13-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.13-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 fea986e8ae0a4088c34a2d88a2acf5606babac86767a11899052a912598528d3
MD5 178afb5ec6c0c9fd143424b64a70c0e2
BLAKE2b-256 16d7b49b3bb5a1e1694e4364beb5080d57222ea72741fa9324f34a1314b1743f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 741e21be6108826527da655858355d467b8d6451d3f17f3c2a4b5a217ceeb5e5
MD5 1508ea6c75207fa929a99ff5e94866c2
BLAKE2b-256 b24d0f5f0cc43d32d902af4655b1f71043ff2539ce7f09e03c663bd136d015f9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 24ab85c1e666877c0380a8bbbb39271a0945750c514130133ed5cc6df852a4a2
MD5 7a92b2f042d7cea065ef00c67f794162
BLAKE2b-256 0f1b80e0786516561c6d50962a2e6816fb895026340c207f30af23be44c19728

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 91d6248d834bbd3d5cfbd45917e903f45fea6cc58980a9bdd055758c2b38662a
MD5 6f76656116ae72dc319889b02d00b10f
BLAKE2b-256 099238733c493f97893f013a733ade4cfca68cfa4f7b457f97bafb385be35917

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.13-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.13-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 fed41525c39472df5e1bc8f20a64e5ae6e2050e9ff4a06f7b43240d030cd0786
MD5 762b1059ba9f3147a8120a761aaa2e04
BLAKE2b-256 6cd7c0bb7d07f093c4f358f301aebb13ccb1d467aec7f8425f239c4b368706d5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 87d466b7121ebaeb60d81af7967c69641d14c6771e070a3ee31e0306d161286c
MD5 f506023e98304d0e0675dc74147d096a
BLAKE2b-256 bd202dbfcd7245f53e0ad760f15984421f8ab40d229d1dd5767f95c6cb4c99ae

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0774b72bdea348c6c40b024e28803f204105e6ab8ed99b7841e06aa4f3dc0142
MD5 9f7f61cc88ea09307572f74f63a5188b
BLAKE2b-256 edc0274b06f492e1de5bbb16d173810010dd5028711159258410aebf884018ab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 1f494dbaf2dacfef563b615b317b6fcf179dd966523c292ab4acc379485b44b3
MD5 a1c2ae0badc219ef95d3e4ab21cf618b
BLAKE2b-256 aae74be724730b24572c9ebce8357a2496fd8755c3fbd9d31b9f7d9c677a0b50

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.13-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 1.8 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.13-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 14b95a5085e96d9eb43623af0b4f20594be9e424a33a7e8124e1434475da72f6
MD5 b19f11da7333242b72796bdedf032c21
BLAKE2b-256 2a8da87d7a23065d0b13e603477060c66dc5e7310977ac6478583a5ce12496fa

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 52f592da039fcfe213d73621f679e50ac4c553e8759924b0b868db7fdf0d7077
MD5 bdc4d2caa73a77e7f2967a826c514dfb
BLAKE2b-256 2097a2da7344707b5c6e1d12bf6ba144c7bb314572ee7f136e9cfe5ac118db6a

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 443981846f5b2c669d7c96dd7b89049f97298ec07d7f0b9682cede1dcc24c600
MD5 110e28d6303394ba203cbc4158cfc64a
BLAKE2b-256 614873c42a850a2c995801cf11520c7bf597fa23c990dcecf461f2058baa3b4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.13-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c17039407b18fcf8e41c50bcf3989a551e2ad7254189875bcfbd34bcef130375
MD5 dab378a063caac9b3ca88da210090f4a
BLAKE2b-256 2d345c46e6d2314981422369f92128c148cc83664da7ae58005f85492ab43fe6

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