跳转至

API 参考

python/polars_quant/polars_quant.pyi 中的签名为准。以下为常用接口速览。

回测

Backtrade

  • 类方法
  • Backtrade.run(data, entries, exits, init_cash=100_000.0, fee=0.0, slip=0.0, size=1.0) -> Backtrade
  • Backtrade.portfolio(data, entries, exits, init_cash=100_000.0, fee=0.0, slip=0.0, size=1.0) -> Backtrade
  • 实例方法
  • results() -> pl.DataFrame | None
  • trades() -> pl.DataFrame | None
  • summary() -> None

说明:run 为各标的独立资金回测;portfolio 为共享资金的组合级回测。

示例:

bt = Backtrade.run(data, entries, exits, init_cash=100000, fee=0.001)
print(bt.results())
print(bt.trades())
bt.summary()

Portfolio

  • 类方法
  • Portfolio.run(data, entries, exits, init_cash=100_000.0, fee=0.0, slip=0.0, size=1.0) -> Portfolio
  • 实例方法同 Backtrade。

数据函数(qstock)

  • history(stock_code: str, scale: int = 240, datalen: int = 365*10, timeout: int = 10) -> pl.DataFrame | None
  • history_save(stock_code: str, scale: int = 240, datalen: int = 365*10, timeout: int = 10) -> None
  • info() -> pl.DataFrame
  • info_save(path: str) -> None

返回列约定:历史数据包含 date, open, close, high, low, volume 等。

技术指标(qtalib)

下列函数通常接受 pl.DataFrame,返回 list[pl.Series]pl.DataFrame

  • 均线类:ma, sma, ema, dema, kama, mama, mavp, t3, tema, trima, wma
  • 趋势/动量:macd, rsi, roc, mom, apo, ppo
  • 通道/摆动:bband, stoch, stochf, stochrsi
  • 波动/强弱:adx, adxr, dx, cci, cmo, mfi, ultosc, willr
  • 成交/能量:obv, ad, adosc, bop

典型用法:

# 对数值列计算指标后挂回 DataFrame
cols = plqt.rsi(df, timeperiod=14)
df = df.with_columns(cols)

命名与列要求请参照各函数文档或源码注释(例如 ADX 需要 high/low/close)。