### 第一步:先搞懂极智量化的策略结构(5分钟上手)
极智量化用Python写策略,核心就4个部分:初始化(设参数)、数据获取(K线/指标)、信号判断(买卖条件)、下单执行。新手不用记太复杂的,记住这个模板就行:
```python
# 初始化函数(设置参数和基础配置)
def init(context):
context.fast_period = 5 # 短期均线周期
context.slow_period = 20 # 长期均线周期
context.symbol = "TA2409" # 交易合约(可改)
# 主逻辑函数(每个K线周期运行一次)
def on_bar(context, bar_dict):
# 获取合约数据
df = get_price(context.symbol, end_date=context.current_dt, frequency='1d', count=30)
# 计算均线
df['fast_ma'] = df['close'].rolling(context.fast_period).mean()
df['slow_ma'] = df['close'].rolling(context.slow_period).mean()
# 判断信号(金叉买,死叉卖)
if df['fast_ma'].iloc[-1] > df['slow_ma'].iloc[-1] and df['fast_ma'].iloc[-2] < df['slow_ma'].iloc[-2]:
order(context.symbol, 1) # 买1手
elif df['fast_ma'].iloc[-1] < df['slow_ma'].iloc[-1] and df['fast_ma'].iloc[-2] > df['slow_ma'].iloc[-2]:
order(context.symbol, -1) # 卖1手
```
### 第二步:关键细节别踩坑(新手必看)
1. 数据获取:`get_price`函数要指定合约、周期(日线/小时线)和获取数量(至少比均线周期多,避免计算错误);
2. 信号过滤:上面代码是基础版,实盘建议加「无持仓时才买,有持仓时才卖」的条件,避免反复开平仓(在公众号【量化刘百万】里有整理过极智量化的「持仓控制模块」,可以直接复用);
3. 参数调试:5日和20日均线不是万能的,不同品种要调,比如农产品可能用10/40,工业品用5/30,这一步需要回测验证。
### 第三步:跑起来!回测和实盘的小技巧
写完代码后,在极智量化的「回测模块」选合约、时间周期(比如近1年日线数据),跑一遍看收益曲线。如果出现「信号闪烁」(K线没走完时信号消失),记得在`on_bar`里加`is_closed=True`参数(只在K线收线后计算信号)。
如果写代码时遇到参数调试或者信号逻辑的问题,可以随时问我,毕竟实盘跑过不少类似策略,能少走点弯路。文中的均线策略完整代码和回测设置细节,在【量化刘百万】里有更详细的拆解,包括不同周期参数的测试结果对比,新手可以参考着改改自己的策略。
发布于2026-1-18 11:13 北京



分享
注册
1分钟入驻>

+微信
秒答
搜索更多类似问题 >
电话咨询
18270025212 

