均线策略
此策略为简易均线策略。下方回测对应的是创业板指的20日均线策略,即在收盘时,创业板指20均线向上买入,向下卖出。
可自行克隆测试不同的指数,不同的均线。点选即可测试,无需修改代码。
此策略只做学习使用,不作为投资参考,不作为任何买卖建议!
关联策略:
均线策略(演示)
9 次克隆
此策略为简易均线策略。下方回测对应的是创业板指的20日均线策略,即在收盘时,创业板指20均线向上买入,向下卖出。
可自行克隆测试不同的指数,不同的均线。点选即可测试,无需修改代码。
# 示例代码!!
from nmapi import *
import numpy as np
def initialize(context):
set_slippage(FixedSlippage(0))
set_order_cost(OrderCost(open_tax=0, close_tax=0, open_commission=0, close_commission=0, close_today_commission=0, min_commission=0), type='stock')
set_order_cost(OrderCost(open_tax=0, close_tax=0, open_commission=0, close_commission=0, close_today_commission=0, min_commission=0), type='index')
# 设定要交易的股票
security_select = ''
security_map = {
'创业板指': '399006.SZ',
'沪深300': '000300.SH',
'中小综指': '399101.SZ',
'上证50': '000016.SH',
'中证1000': '000852.SH',
}
g.security = security_map.get(security_select, '')
#运行函数
run_daily(close_market, '15:00')
def close_market(context):
security = g.security
MA_n =
close_data = get_price(
security,
end_date=context.current_dt,
count=(MA_n + 1),
frequency='daily',
fields=['close'],
skip_paused=False,
fq='pre',
panel=False
)
if close_data is None or len(close_data) < (MA_n + 1):
print('历史数据不足,跳过交易')
return
closes = close_data['close']
maN_prev = np.mean(closes[:MA_n])
maN_today = np.mean(closes[1:(MA_n + 1)])
position = context.portfolio.positions[security].closeable_amount
cash = context.portfolio.available_cash
if maN_today > maN_prev:
if position == 0 and cash > 0:
order_value(security, cash)
elif maN_today < maN_prev:
if position > 0:
点击上方的“AI 分析策略”按钮,利用大模型深度解析该策略的逻辑、风险与改进方向。
请登录后参与评论讨论