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

This version

1.3.0

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

finlab-1.3.0-cp313-cp313-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.13Windows x86-64

finlab-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

finlab-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

finlab-1.3.0-cp313-cp313-macosx_10_13_universal2.whl (2.8 MB view details)

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

finlab-1.3.0-cp312-cp312-win_amd64.whl (2.2 MB view details)

Uploaded CPython 3.12Windows x86-64

finlab-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

finlab-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

finlab-1.3.0-cp312-cp312-macosx_10_13_universal2.whl (2.9 MB view details)

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

finlab-1.3.0-cp311-cp311-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

finlab-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

finlab-1.3.0-cp311-cp311-macosx_10_9_universal2.whl (2.9 MB view details)

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

finlab-1.3.0-cp310-cp310-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

finlab-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

finlab-1.3.0-cp310-cp310-macosx_10_9_universal2.whl (2.9 MB view details)

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

finlab-1.3.0-cp39-cp39-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.9Windows x86-64

finlab-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

finlab-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.5 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

finlab-1.3.0-cp39-cp39-macosx_10_9_universal2.whl (2.9 MB view details)

Uploaded CPython 3.9macOS 10.9+ universal2 (ARM64, x86-64)

finlab-1.3.0-cp38-cp38-win_amd64.whl (2.3 MB view details)

Uploaded CPython 3.8Windows x86-64

finlab-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (5.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

finlab-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (5.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

finlab-1.3.0-cp38-cp38-macosx_10_9_universal2.whl (2.9 MB view details)

Uploaded CPython 3.8macOS 10.9+ universal2 (ARM64, x86-64)

File details

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

File metadata

  • Download URL: finlab-1.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for finlab-1.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 67ef049afa80bec3bc11f2754536a1abb630e1ceed0bfea4b8b30b43e8d9fc24
MD5 8c599cb7fb546bae82ddc6a1b85d2629
BLAKE2b-256 97c823b1f184269c0d4b715d5e8ec2249707a60edf84a3fc7c05080065284314

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ebb0c9bf58777eacdb0bd3a4ee0604943c12e266330cf233ddf82f1b9b6616f2
MD5 f684d0e278770279ea3806e22d266017
BLAKE2b-256 bc29d2022bb48c48566fec7f324e89d4363bdd9592787d4fa406916481c0e40a

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 eccd732633d7658c4d8d559deaaafd7409fc5401463b5ed5537db6c6fb1a6133
MD5 fc4b54bbdbcfe970f6dcf9451f8f9951
BLAKE2b-256 db14ba67c10abd99d55d75b31f54b009ad12218c6679c679a366702b133be413

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp313-cp313-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp313-cp313-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 2300d77d39a1d955dc52bce19de921cc83a5c7cba9140b871476ab26709d3b71
MD5 f1fac1012a948665bca467d76f19cabb
BLAKE2b-256 dfca4f496993e90cbdd06cf6ae360ef4c7fd7fdfa3ecea3ca25222b928470b3a

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-1.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.2 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for finlab-1.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 06c386704faf466f351bc4a170516029e26b231896ea5014ed4083ef53cf1979
MD5 f727a40634e96bf0b151d89819c8304c
BLAKE2b-256 7eab323b70496a7b3fd40d5dbaf52169ffdfdeeb7291b5215cdbfba86c8dfe42

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c3b0d83feae45bb60583d8b25b6e1afef341598dea1b2f89bc009f438a42a8b0
MD5 31cced190ee47ff987a9dc37c6eee8cd
BLAKE2b-256 3d1c961d1d32dc855f8184be085035749dc2360e82ceb758e6003fbcb6b7c07f

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a537edf0eea82ed0dcb7f99f42737f6b8b92bdb22f73a11462ef8e6d4299a32
MD5 58a0555381577990214c0916a93ed24d
BLAKE2b-256 4510558c216cb4abaffb7d5ba4151dd3562c295a2b6f6b17315ab0a7b81573a4

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp312-cp312-macosx_10_13_universal2.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp312-cp312-macosx_10_13_universal2.whl
Algorithm Hash digest
SHA256 e070af600f1fac8e5457604c52dd9cfc5da2fb66054a3cc81a323349d1baaf0f
MD5 d4457bd25eaf5accaab7a128a4198a9d
BLAKE2b-256 f6bf66c7af14f533a2d75ef48db163e75da392c4d7175239e5a291c888ba88c4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-1.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for finlab-1.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 3121bc3b9cde5fbea97feeeaa5bc56635296c3a9ffbba00240c4d94fd023ad58
MD5 17b2f93ebc5db6d584a79d1daed7f545
BLAKE2b-256 37ea74168e030514dae2a73c9753ff740b24b6d065f5d366ba77b1b6f1655f8f

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9b1ed0c8eb31c202ce9ba046b7b600d47ff5dbdfdb7af22e74f33504ef908780
MD5 f74b96f7ed2576b6e474706791e3e605
BLAKE2b-256 87e98543b2a0578c8085a7a61699eb4744d7bac02b4fbc84390d833c9e707e6d

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 b1107f6c55cc5bae0506cd6048e9ba482144be7670f57b52605d93a3c34fec6e
MD5 ae71240679f81442ab4fd88cd61ed62a
BLAKE2b-256 e19aa56ad08ca75bc66fe8e5f3abcfa4adc9cce9ed8f41071046559deca198b3

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp311-cp311-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp311-cp311-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3839e338073cab930a6cb33fa1aa9515c39853012c584da618eb0e48039a5514
MD5 f933d17cef6e2f97b32e7daf6c014c62
BLAKE2b-256 19bc3328cf4eb460794d057fdceb672238f7b5132e68de0c45801706e3af5690

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-1.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for finlab-1.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 569ee57467e331e6fa999010e0629b8dbd12e8ff8dc326a92600d93d374a120b
MD5 88307ea0c5df7b809e4fbba8a8c6b157
BLAKE2b-256 b8c5e1e89bf665fc88c1d1593e3b30bd94801793ffb05dd8cebc86af4e49fe73

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 046f712f79dc30e73b1edcdd6977d7f18c33914c85633218ef9c65d44bb5b3ce
MD5 d6d14abbf7b86e02b5e92a7b303eacd9
BLAKE2b-256 ee92e26f3c5cd1a23330d5dcdadef4d5ca97edd6b443cb9b32f1a0107df9ebcb

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 cb467fe6d1795321761b724995c41dd4fe67e200deb29645d63fd2110ede5833
MD5 b373133f0b38fbb89a586ed953f8c151
BLAKE2b-256 cf9976728779c8708b9d7e485ca15e7a70ff92322739661ede0c28258a9465de

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp310-cp310-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp310-cp310-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 46707b18c817062514412d21f0114f08eec0d2e20886b38015587d6702ee9914
MD5 0cbc920d7ecdc71e065dfc0f576867bf
BLAKE2b-256 f69ed4f587b073a075e0152f09985bfb3d18887136a4797e8bdb9be265f183fc

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: finlab-1.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for finlab-1.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 928b024d813dd403b43741e52ac877cc27b736826e58468757b1490796fc471a
MD5 2b5a9be2d1b0d56bfd665af63ecbd134
BLAKE2b-256 eefb44ebec19cc44b7a7b990760bde726006450beb95884b76e8cb2b6073571c

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d37f3f4cae133929baf4c4a28360c9fdf85329e84a3a4dab2a453c9b985a15d1
MD5 500e08f9f954d9b758e7ea89d5cc64a8
BLAKE2b-256 1d53e4abced8faaa581ca960ec84f2936fea347f5bc4df7422089f68fa3ecc34

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 5bdd13b6502e2847b446faac9f4e06df09bad99774c5191ea4c20c3440619b18
MD5 855310ac9a21250292aeec94dac94256
BLAKE2b-256 9d16e9f7e2f374987ff09b4da5d01a57419119b655a120d6236dd0919ab45a1f

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp39-cp39-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp39-cp39-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 e9df4f38ef11ebb14e51ab7f9e670427300c46389d9323f4a48477da2513617d
MD5 d937ae7cb9e6684f92265de0f33ee59b
BLAKE2b-256 3c4e9995d9c4a80e794a72ead51984caa860af851cbc352e424e25139e136922

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: finlab-1.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 2.3 MB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.11.11

File hashes

Hashes for finlab-1.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 4f691e69a478bdb560aa90fc49de660e7763d63643c9de2557d1f8ba2a668bda
MD5 ab4897d290aae3aa601d45366b9a2045
BLAKE2b-256 d24e3e89b2c6f7b9e1f0656adf3b1fd180a8056f5e1f25cb20f818410db5e880

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 4c68236b193016844432d731a9b2eacb5e47c689bfa41741a7efb0ee01fee5ab
MD5 5136121f89da616db573d71f95f83f13
BLAKE2b-256 b6fffa74e4b6ca2c108005c5ba9fa6c9cfb86b070fab429f2e7fa5cb86e18032

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 53ef7096c3b94733a217849ae25d46e72fff17222be6d65bb4416627e84c1f3c
MD5 c1c5facc387b55d40a89d203ee8f9be2
BLAKE2b-256 4ff0314445052def719e7a7c0b783348ae50774bc38ac6db0a7e5ae2299351e6

See more details on using hashes here.

File details

Details for the file finlab-1.3.0-cp38-cp38-macosx_10_9_universal2.whl.

File metadata

File hashes

Hashes for finlab-1.3.0-cp38-cp38-macosx_10_9_universal2.whl
Algorithm Hash digest
SHA256 3ba127d8137ec2c3d49a1cdd4b43ca01a4c1a2dd18c7dd1feb670749e418123f
MD5 6d195a07e427e0976db8bf40265f892f
BLAKE2b-256 df60b4e52855dbbe8fa35ba676c19c93148af80337f7aa541832e2fbc598729a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page