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

Uploaded CPython 3.14Windows x86-64

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

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

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

Uploaded CPython 3.11Windows x86-64

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

Uploaded CPython 3.10Windows x86-64

finlab-2.0.12-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.12-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.12-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.12-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.12-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.12-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 21dfc834a802ae652523a2ab459bdd042f12dd97577d718e7c4f72ae1ba06094
MD5 0e4eb50af8121077038de30876d37e3d
BLAKE2b-256 91f5ab68e0c39d3c68fd8a58467bae82792ae8d1dba30e13e39f38b59d45fbdf

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d850c469375e5bb598a20d3e6ed312e4321271a8ca17682aea23927f42dacd8e
MD5 0afda81eb1b5f5e49d29c6b0f5759844
BLAKE2b-256 904d2a44fdcde9d31df90f703ed6029bbb462ebc38b6b4e4a58e1a9e2ccdc97d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 0f0cde8965711cb7dcf6151fc220b29f72d7604795eb3c18c6ac58bcc08c80a1
MD5 5ee7d46103dc5400ef16acef2a1a43f7
BLAKE2b-256 906c6cafd5c39711ddf9b5bc95ea51d2b40731af2d664c0864b0970c22a44d15

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 490847597a6ac67fc09ee1ee1418ceac067da3f754240177d80ceb1adefe1007
MD5 e2d5575930b287ca015ab2f386788f94
BLAKE2b-256 c49bd337bb5c0fffbd1059d497d7c766882e01e683093678b6296afb425fab24

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.12-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.12-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 2857a94334751a61e5b2718005dc2456724769f23e4af678a0c5525eb414fdce
MD5 55723c52c3842ceab5f06c5ba067db72
BLAKE2b-256 0cc5de8562517e1c3eba8417f7c167b9ce9ead4ecd08174b069bfd7a4762f8c3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 af6e789bd54efeb1c7db9f3347e4a255edcc73eca5440386f3961c97bf478cff
MD5 17fedbccc5a8059ef55c542f7e70c0f5
BLAKE2b-256 cac71eccd12812d0f84c9d39980dd23e45a9c06f207e49087f57c48c1da17a84

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 64f5ce6804454aa96474f8730e3cfb3d136b47f7388ea468080abcc28bd73f6d
MD5 8b6faf4034cdd1a827397b85f7754501
BLAKE2b-256 86ec7008c455f6e76accf7888f38f988e270da6d4ffe2c5a24f5035486eea56c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c3de9f0bbc387af0372901943b20d99f5dc48f72a8c7bfde965c2a96ee948273
MD5 39c776c100ea47c3956cda3ceb9349eb
BLAKE2b-256 8d0ef1564f4a1077dbf5c75e80e25f826cd91c0c9a1e4098faf8cd3a7b8e5cd5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.12-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.12-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 31275ddab07b0dd0585821321e765e462bb7fcf4e9da1a5faa10e15c497f576d
MD5 0c03d6558f437ecd33a83530ca7b5a86
BLAKE2b-256 f7169360edff6273b19c95993c342b7c712e464c3420eb8cb3182da18799d95f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d34f6a94fae3c6d55c011de82850703d82d2f6321b02a534905bb813d892a0f2
MD5 3bf81a1ff2f5c037845a50889328ebaf
BLAKE2b-256 f398ffbf64f5b822bbe8eb3fbc1a79fffd0b3934fae1d52da150755e14132b4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bfa53ae7901cd412e4e8f384a8bad08888a6b94deb0aa85da137bf9720e8c847
MD5 50abd6f8babd2829db8304c48cd97e1f
BLAKE2b-256 7712e9b67060f35ac5c6275ca214357c4ef5634a17c4582a8d505c835ffe6745

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 15ec19e8499226c6133010b3fd72c4f01c9376a35955ac7b60d32f51bbe3b59f
MD5 8fe359acbabc8125e8fc92c2a5134c4f
BLAKE2b-256 6e54489bdebe3d7575d39c540c60476e4c7cd3620ea0b90225f97d0077fbbbc7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.12-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.12-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3eeefb51b691325f2ea9cd912f50a12d821fec2afa7f23ec72b6b768306f7c3c
MD5 c1ae533bf47b5caf7a57fd9fbebc5bcd
BLAKE2b-256 aa9bccc10bd57497e2f3ebf21792557fa1f250ab163f54b9fba534a975710e30

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 bb9dcd8a941c6786e0f93974bf780f909dbf9862ce22f568307e6315790aefb3
MD5 d57021abdd91e59ade036e2dee5e99b8
BLAKE2b-256 84d5af55fd4b60a6201a76750680bc12c0d902ebeeb5ae545966fcd1f63fa356

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2e7065dee79286514047cd2799466f2b96376388e34be9dd272cf6559cc31327
MD5 050d65a20f281d67731b058565fe7fe7
BLAKE2b-256 d85efb42e92dd41a51f4c167992d7002de3ae3130ffbeec25cacd7a5ce96279b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 e0eb88e0b66174051e20438b4dc9227737b069622ef9b27102b9f249d9c2106b
MD5 54c5c8dbdc2e8d00127c7ac9e1414d9a
BLAKE2b-256 1311c0bed4b23e88a00ed2e295d86280453795ff3f238af5dc7154263139bf17

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.12-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.12-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 c65bef6b92673abceae161460685c6be3e6781b9bc9f28c706b2c49d4e35fb20
MD5 3dc904135379aaf6a7162dc1a2dc82df
BLAKE2b-256 bb5065d550a7215e1f6d93955cf79a01eb153fdecfbeff0164be42f091f80723

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 11bc5868b48664af3f7702d854ec1b98aab2769f7eb7054fe03ea4d3ab708752
MD5 1e7b31529efdbb5b3673458efe834c09
BLAKE2b-256 7ac3b192e2acd18eef07b22d684f726423b027fe4ff462a29da83e6101e461b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 69077ec7d9e306967b876e1350c53da600318d528724de47eaa6da12fe70689b
MD5 217e2bd7db61f0d480443bede04dc855
BLAKE2b-256 5dd1a5c536a80132ff4630ab1707e14ef1faaa22a2d29971033c4f9c94e3ed21

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.12-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 fb40772903b2950455855feb46d2b9f1a93e0dc5b74514c9c4a163203b6c2319
MD5 e6d287fc3fc6c19268b3d766a10b923d
BLAKE2b-256 a60c395f056794d276eb21cb80db908b4706d8b533503128613ff9daa0978c86

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