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

Uploaded CPython 3.14Windows x86-64

finlab-2.0.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

finlab-2.0.15-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

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

finlab-2.0.15-cp314-cp314-macosx_10_15_universal2.whl (2.7 MB view details)

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

finlab-2.0.15-cp313-cp313-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.13Windows x86-64

finlab-2.0.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

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

finlab-2.0.15-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

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

finlab-2.0.15-cp313-cp313-macosx_10_15_universal2.whl (2.7 MB view details)

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

finlab-2.0.15-cp312-cp312-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.12Windows x86-64

finlab-2.0.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.9 MB view details)

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

finlab-2.0.15-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

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

finlab-2.0.15-cp312-cp312-macosx_10_15_universal2.whl (2.7 MB view details)

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

finlab-2.0.15-cp311-cp311-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (7.0 MB view details)

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

finlab-2.0.15-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.7 MB view details)

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

finlab-2.0.15-cp311-cp311-macosx_10_15_universal2.whl (2.7 MB view details)

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

finlab-2.0.15-cp310-cp310-win_amd64.whl (2.0 MB view details)

Uploaded CPython 3.10Windows x86-64

finlab-2.0.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.5 MB view details)

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

finlab-2.0.15-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.3 MB view details)

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

finlab-2.0.15-cp310-cp310-macosx_10_15_universal2.whl (2.7 MB view details)

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

File details

Details for the file finlab-2.0.15-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: finlab-2.0.15-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 2.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for finlab-2.0.15-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 53412c3428d7c8bad7910d3ed8e279b69413b41f8124bbeced8825399ca764d2
MD5 61d853408a99bf49c0be966c1a6d6bf0
BLAKE2b-256 655de129c2b321b24c7355e69a0927d3b3e62184522afdeda109f56a69a75792

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 539d3c551d04c889368ddf4adde55c73b6fcc3d9d7196bf90aaa252c651531b1
MD5 ca440547573b12f227431650ce5d6e8a
BLAKE2b-256 4c725a7ce8e5b200f0dc8cfc55eded693b209d2ddb4f8b21d6fe4159f63699cb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 d639caf85499f277f1861bd43fea1739ecbf0f4790050ab8ef5102a2745760f4
MD5 d300138cb71806ac0eb9982b8edc9e86
BLAKE2b-256 df4efc8852f1c47d8b09e6289e530f276d44bd8df5b87f311a195924838df4c0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 51817cadf939882ec1c5e0f2a76e0cab6278b4701481c43f4a7d5755ee266081
MD5 7022b21aa37d8482917e061ebaf99888
BLAKE2b-256 793ba32482188b52355990894c4e88c0a5574f9afc1eb57e1f9e86717e163193

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.15-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for finlab-2.0.15-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 8c0ed50504e979d1d70345522cd368be7f0c3e1a47f1fc75f9090dfc0f808f03
MD5 28b8b49e62b73734247ba61b4426329c
BLAKE2b-256 5195db36a50cc764036ea8a13e8eb1f086396e3a6046601f27af4b348f208ca3

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 6861c97dbf89764af1d9db26db947c901b4ce854a5ebbe514bdc1d377b9158c1
MD5 442e1bf9f1ff8ebd67ce1529abf51277
BLAKE2b-256 4c8c02dcf561bd4af7256078e0ec3da70348b9518d4fa971a83a0d43d960bbc7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2d5536fc27253b2f68116f7553c0dd0a55065957854a852617e5616f6a43bee6
MD5 5616e8a5c7b9de2bd52f2dd8bed46b97
BLAKE2b-256 c945acb8bc1c03857457fdcb9ecccd9520a87ede7b6690176a54135675903266

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 9c27b91faa089cc9c2e5b864c5eca4f8bc5282a9794cd88db48fb1898fe9e8c5
MD5 828664404b7ce93de7b0a5b58a5af420
BLAKE2b-256 56b4f8ac3942aebb5824d7a0b3b502110c9de07e897a76b1a159532fff6dd8d5

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.15-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for finlab-2.0.15-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 c64dcb29126d057e912269afa6ef030fdbb0630f009e136e8820bebddd7ec83a
MD5 06fcb32dd2032e5f2906bb241c86c530
BLAKE2b-256 c868f252cf67e9606cddd675259d97735be88343830b8941bde728a678b6ddc9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 2ad9d265f9c3ec1ae910d73d544ed0763665eca0ebd4b614ec29d12cbe681f76
MD5 689ae90e97f2434d022907e5fbe5cf08
BLAKE2b-256 4328923964a07397db6cb929bb0e3bd740694737550f8f8fa4226098f59400c2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 aee6e0ff7917e639d2fea12db9e97ca882fbd3fb8a62e9d7febc58157968f782
MD5 d1049f8e060ff93305c37266dd617fa0
BLAKE2b-256 75bf2c39fc8e53582e8442484f66da53d51cb2dd8181e478712f15b134674cca

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 af7cf62637703d68a05a340ccd78975e6828e945d4a5cdd8df10f4c2015c4629
MD5 3f2daf19b44121321927a45542c9b9ca
BLAKE2b-256 2546b5af7001b3cda967d7746bfdbf5cc33d187003c1a446607a93d94ef7e1a3

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.15-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for finlab-2.0.15-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 418f9747f7b974ad392ee327ed104c2a9bbb84f0b8420dbe5b8cca56183b56f6
MD5 988f3dd6a2267ccdcc9c0b7a6c6b46f4
BLAKE2b-256 ed89d8a96c25028038990c1f890ea9e27bc7278c20685b4db31ede6545bd5cfb

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 a68d41da15d768f28348310452397a24456364cf36b82b48eb040ba56037e219
MD5 c194ed0efdeb7c12c4fe7bd013bf27ec
BLAKE2b-256 e6776ec322b003b3d41060ff4e88030c4d5b1b1251ecdbfa8c4c0218d0d241b9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 e47504dfd562090223d3343346ffd7b586b70f34f33c69c167c7b6c9fc8764e6
MD5 55dcbcec414ea21fd22cc0b7b3eb03c0
BLAKE2b-256 52f3866aec72f123f92e57fe60a3f4157db1849307849f093cb2a408353deaab

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 a5279b14c4ecd45140639c9cfeb0ecea77bd7d06f2e675b85e8bb12ef5d57eef
MD5 47cb0d1ac268ea3566a7934f88969a67
BLAKE2b-256 b55ebe381763ff336727cf9a8d657ea344877883afe0d8336c8531232a3e2fac

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.15-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 2.0 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.3

File hashes

Hashes for finlab-2.0.15-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 627ac6d5949f6301f6d61e27b5703770bc60c3f1c176d0223d5c06edd91ff68c
MD5 38d17ba047c6abbc1ac5e06d91366c80
BLAKE2b-256 9daae5d2daeae383cd146f6ce1004fe90d47b7c2348ee665f1a35bcd6faa679e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 14ae4dd9893cb5da24818fc0076bf46a550ad61cb15f393f23ca3da888bfb34d
MD5 15ea4afc083ffa1790db14b7f0d69525
BLAKE2b-256 7699fe81b583d31b0339fae68df72c55fa056d35dbef6b6f1ddff0e857c4e6bc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a67971d946e73942c59249414b77bebb9ef8ba4cf672d01ffeddec408d2d40cc
MD5 eb8b76722294c95eea4d92a8876a510d
BLAKE2b-256 c380bbb09a5671fc4f17eeb9afedc20f00453df47e794638f24ad15afd0a8ce0

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.15-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 fe4f28accb211cb309f47593f169f855ae24e3303949c52674ce8002dabfc351
MD5 9e6a3a616a1233a57dfabf2412bf2edd
BLAKE2b-256 0594413fc82f8a5457f6779ab588905b87e2cf86e076ff878e91207169951e61

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