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

2.0.5

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

Uploaded CPython 3.14Windows x86-64

finlab-2.0.5-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.5-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.5-cp314-cp314-macosx_10_15_universal2.whl (2.5 MB view details)

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

finlab-2.0.5-cp313-cp313-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.13Windows x86-64

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

Uploaded CPython 3.12Windows x86-64

finlab-2.0.5-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.5-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.5-cp312-cp312-macosx_10_15_universal2.whl (2.5 MB view details)

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

finlab-2.0.5-cp311-cp311-win_amd64.whl (1.7 MB view details)

Uploaded CPython 3.11Windows x86-64

finlab-2.0.5-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.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl (6.5 MB view details)

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

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

Uploaded CPython 3.10Windows x86-64

finlab-2.0.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (6.3 MB view details)

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

finlab-2.0.5-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.5-cp310-cp310-macosx_10_15_universal2.whl (2.5 MB view details)

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

File details

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

File metadata

  • Download URL: finlab-2.0.5-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.5-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 b5183b752631d24c45313ab98a7113c2c08b90e195bd3d2a20874d78b186aaeb
MD5 6d2c0508b71bef235382b5f2ffc02045
BLAKE2b-256 97020fd81793285989bee36d1fee83a2e645d266594f849a0f4753dfbb4f0ff9

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 56089210e38da845eac25772ef894c64814314b03c81dab708e4efcaead55946
MD5 97c35be69c8c214785f0f49f7d93733b
BLAKE2b-256 facc4e1ab354be9070f6a60eba44b67fdd822422feee12d42335745108588761

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 6f4e935fce8d7f50e265bd36cfa6583e1c05146a4b30b7bd0d6b565dee1009a2
MD5 e92f9385a063ab92799c5056e12cc64c
BLAKE2b-256 7dd79e7c8ea950d27a5a37c9bf59d2996ca2e36847a88bdfd60e224ce07aae2c

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp314-cp314-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 242e65a291a4f9e72ec74974cbf8cefcaf7a88c33631d3822a0cb28f7cc122a5
MD5 1d46f6292af8bcb9007252b6daa53f1e
BLAKE2b-256 f55eeae454a6c49c64513eaa924dc697cb767c11bb38e33b9d5ce1c9ebfd1085

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.5-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.5-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 a8a63bfb7396ee3a5dfa8afe55a59a7a7bbf0c3dd8f2137789437d1f73344361
MD5 68ef6feb32f35450913445b9f8032173
BLAKE2b-256 ca88bcd0a4ea7c9ccd6cbd5018b7a1936803fa161f5c11596e4b12dba2f4c5cd

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e9f3c8e60a15d83643e77b5ba96c224929dd3958a9f7c69f95fcde37ac439b8d
MD5 b602cc4ab111edcf7d0a36a557360db9
BLAKE2b-256 23e4362f7f9af201ca14315c69612fde12d63a455949149fee42a3f29f404844

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2474c73abb7adafbcb3d7d024b50abaa2d8b32f59545fc68325883e171ff6f14
MD5 382fbe470440d2ed932d54424e67ca08
BLAKE2b-256 462f72e98ca81b3a1c7dc06fec557053b2d4942c1d9b175241ed25ea67d6be5f

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp313-cp313-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 5d49992e97e7abe7be918e649f60f83ff7fa1af40c742f907ca6bd21de82e2a8
MD5 aad4943b36f0ffcaa2527d31cf1f6dee
BLAKE2b-256 230ea57e749f54a5061550ce5cc2cc429d2bb676ae342b15c912b6e7fa93daa1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.5-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.5-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 93183bf6f74a302a21198d55e57f8aaf435bd1c9d65e0ed7cac390c796506c6c
MD5 d45267bd659275701bda659452fdf63f
BLAKE2b-256 0960755bbabfd6c2b6289590bb87f9f5a1b511d3e3cc5f7cffd7b2f6ecef864e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 41074f1a0fd30d1fc84f3f4e78d3a96f8b341791cb41589ffb9bb6fc38849a44
MD5 64c51cc423f4b34bcb3e6f60d9b38b1c
BLAKE2b-256 bcbc788e62a6f62f61648c3a17506c91a74a22ae8de613056ae89f59572d06c7

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2113e69d7e7fa42214b3104751d306bc3b65f7936f6506e872f4437b80fc9ea9
MD5 a6b7d7b29a95f0597c876e84b1bd00da
BLAKE2b-256 5e1874c7728a8cda18e801bd299cec806ee33cb198873f666cfc9ebe620bd7b5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp312-cp312-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 99d657473abef4d41aa8fbcc465c9523017f32f3e200e3f4a10ab0c02b739f34
MD5 ab882a604d17b67e9d66e7b642003e38
BLAKE2b-256 d2610a5dbaf1167873676e04db53786ee9265449d24353ea87596f51a299d141

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.5-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.5-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 5ca47769ec4ac7fc3768f6210003b60c015913e176ac134779ac502a7f1b5a55
MD5 b9f1ae427fc35ff1ad5c4fd02769fbe5
BLAKE2b-256 129ed734e84c5979b47422b1152263e29305efa7c9ff5eaca0930d95ae3f590b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0e10fdcc90f3629e9a4772fc21c36855f4068b5103fd4a66cc357dfe1adb28b9
MD5 0d84ff1d57c1ef5122293e1d1f11b1e8
BLAKE2b-256 43726377dc87e5fc190c8e800c9310f981c3460d02ebf7d7e8d080fcb0226e6b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c42273c7234c77a380f830ee2deb9f4c3456a41feec1cb393f1bb4fa24e72198
MD5 bc27f2589789df1cfc104235e5158c5d
BLAKE2b-256 b8c7decacd3fc1cb7572555d03e96af4f6a36b8940c3459a5cb84fb3a413a7dc

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp311-cp311-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 0d6f453d0548807a1400b221af2bf1d8057858faf5fc01e4983d23c15260db24
MD5 42fbf7e8da5aa8f75404dde6ad86b29a
BLAKE2b-256 2429b4ee46429baf24636d079d7e963c9a347bbd767a7ce749da902b3a356ae4

See more details on using hashes here.

File details

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

File metadata

  • Download URL: finlab-2.0.5-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.5-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 0d2c0d78819e79f6cc1927a8ddf347f800683f84ccf1ed653adab81b72ebff92
MD5 94541ee3c261fb437108c3c47f6ee443
BLAKE2b-256 c91fe47c949cbcb4fe68ae077a104d205484309298d0f27f7ca0e6714bdf31be

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 79dc262c9a2f65e7ecbab6044898019e378fdee22216c7898b77fa4592c399db
MD5 24733d337703430dbc2d5b8941a7487a
BLAKE2b-256 7f00e44537008871056160c92b9bba30c5cf00f784307caf44a3f0ae781e5710

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 1c2e47ef0aff7ba90192021702ec4179b4e2f1f949cc5a764e0b743cbda8b5dc
MD5 81ff5bf173a23215bd7a745121e83466
BLAKE2b-256 65de7a1f2514b3328660bfbfaa481574842a7bcfdb65b6ca6068a9db0356d5f4

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for finlab-2.0.5-cp310-cp310-macosx_10_15_universal2.whl
Algorithm Hash digest
SHA256 c4b145cfbfd044f128c8227b1af9fd1b56505523e731d559f0ea58a91f34d1b5
MD5 a559e35fef36838dc0ef4d3462295ec8
BLAKE2b-256 b7a982638b5c7d47f4b5b010dd678d88c14dd9500546222c10e448eb82ea5aba

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