卡尔曼策略新增md文件

This commit is contained in:
2025-11-07 16:37:16 +08:00
parent 2eec6452ee
commit 2ae9f2db9e
89 changed files with 39954 additions and 0 deletions

View File

@@ -0,0 +1,39 @@
from datetime import timedelta
from tqsdk import TqApi, TqAuth, TqAccount
from futures_trading_strategies.rb.KalmanStrategy.KalmanStrategy2 import DualModeKalmanStrategy
# 导入 TqsdkEngine而不是原来的 BacktestEngine
from src.indicators.indicators import PriceRangeToVolatilityRatio
from src.tqsdk_real_engine import TqsdkEngine
# 导入你的策略类
# --- 配置参数 ---
# Tqsdk 的本地数据文件路径,注意 Tqsdk 要求文件名为 KQ_m@交易所_品种名_周期.csv
# 主力合约的 symbol
symbol = "KQ.m@SHFE.rb"
strategy_parameters = {
'main_symbol': 'rb', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
'trade_volume': 3,
'order_direction': ['SELL', 'BUY'],
'indicators': [PriceRangeToVolatilityRatio(7, 21, 4, 5), PriceRangeToVolatilityRatio(7, 21, 4, 5)],
'enable_log': True
}
# api = TqApi(TqKq(), auth=TqAuth("emanresu", "dfgvfgdfgg"))
api = TqApi(TqAccount('H宏源期货', '903308830', 'lzr520102'), auth=TqAuth("emanresu", "dfgvfgdfgg"))
# --- 1. 初始化回测引擎并运行 ---
print("\n初始化 Tqsdk 回测引擎...")
engine = TqsdkEngine(
strategy_class=DualModeKalmanStrategy,
strategy_params=strategy_parameters,
api=api,
symbol=symbol,
duration_seconds=60 * 15,
roll_over_mode=True, # 启用换月模式检测
history_length=1000,
close_bar_delta=timedelta(minutes=58)
)
engine.run() # 这是一个同步方法,内部会运行 asyncio 循环

View File

@@ -0,0 +1,50 @@
from datetime import timedelta
from futures_trading_strategies.FG.TrendlineBreakoutStrategy.DualModeTrendlineHawkesStrategy2 import \
DualModeTrendlineHawkesStrategy
from src.analysis.result_analyzer import ResultAnalyzer
# 导入 TqsdkEngine而不是原来的 BacktestEngine
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR, ADX
from src.tqsdk_real_engine import TqsdkEngine
# 导入你的策略类
from tqsdk import TqApi, TqBacktest, TqAuth, TqKq, TqAccount
# --- 配置参数 ---
# Tqsdk 的本地数据文件路径,注意 Tqsdk 要求文件名为 KQ_m@交易所_品种名_周期.csv
# 主力合约的 symbol
symbol = "KQ.m@CZCE.FG"
strategy_parameters = {
'main_symbol': 'FG', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
'trade_volume': 2,
# 'indicators': [RateOfChange(10, -2.1, -0.5), ROC_MA(10, 10, -2.7, -0.4)],
'enable_log': True,
'trend_params': {
"trendline_n": 10,
"hawkes_kappa": 0.9,
},
'reversion_params': {
"trendline_n": 70,
"hawkes_kappa": 0.1,
},
'conflict_resolution': 'NONE'
}
# api = TqApi(TqKq(), auth=TqAuth("emanresu", "dfgvfgdfgg"))
api = TqApi(TqAccount('H宏源期货', '903308830', 'lzr520102'), auth=TqAuth("emanresu", "dfgvfgdfgg"))
# --- 1. 初始化回测引擎并运行 ---
print("\n初始化 Tqsdk 回测引擎...")
engine = TqsdkEngine(
strategy_class=DualModeTrendlineHawkesStrategy,
strategy_params=strategy_parameters,
api=api,
symbol=symbol,
duration_seconds=60 * 15,
roll_over_mode=True, # 启用换月模式检测
history_length=1000,
close_bar_delta=timedelta(minutes=58)
)
engine.run() # 这是一个同步方法,内部会运行 asyncio 循环

View File

@@ -0,0 +1,46 @@
from datetime import timedelta
from src.analysis.result_analyzer import ResultAnalyzer
# 导入 TqsdkEngine而不是原来的 BacktestEngine
from src.indicators.indicators import RSI, HistoricalRange, BollingerBandwidth, NormalizedATR, ADX
from src.tqsdk_real_engine import TqsdkEngine
# 导入你的策略类
from src.strategies.ValueMigrationStrategy.ValueMigrationStrategy2 import ValueMigrationStrategy
from tqsdk import TqApi, TqBacktest, TqAuth, TqKq, TqAccount
# --- 配置参数 ---
# Tqsdk 的本地数据文件路径,注意 Tqsdk 要求文件名为 KQ_m@交易所_品种名_周期.csv
# 主力合约的 symbol
symbol = "KQ.m@CZCE.MA"
strategy_parameters = {
'main_symbol': 'MA', # <-- 替换为你的交易品种代码,例如 'GC=F' (黄金期货), 'ZC=F' (玉米期货)
'trade_volume': 1,
'hvn_distance_ticks': 5,
# 'stop_loss_atr': 0.5,
# 'take_profit_atr': 1,
'stop_loss_atr': 0.01,
'take_profit_atr': 0.01,
'order_direction': ['SELL', 'BUY'],
# 'indicators': [NormalizedATR(21, 0.35, 0.6), NormalizedATR(21, 0.35, 0.6)],
'enable_log': True
}
# api = TqApi(TqKq(), auth=TqAuth("emanresu", "dfgvfgdfgg"))
api = TqApi(TqAccount('H宏源期货', '903308830', 'lzr520102'), auth=TqAuth("emanresu", "dfgvfgdfgg"))
# --- 1. 初始化回测引擎并运行 ---
print("\n初始化 Tqsdk 回测引擎...")
engine = TqsdkEngine(
strategy_class=ValueMigrationStrategy,
strategy_params=strategy_parameters,
api=api,
symbol=symbol,
duration_seconds=60 * 15,
roll_over_mode=True, # 启用换月模式检测
history_length=100,
close_bar_delta=timedelta(minutes=58)
)
engine.run() # 这是一个同步方法,内部会运行 asyncio 循环