量化交易学习笔记:双均线策略详解与代码实现
创作时间:
作者:
@小白创作中心
量化交易学习笔记:双均线策略详解与代码实现
引用
CSDN
1.
https://blog.csdn.net/weixin_42844704/article/details/146303939
双均线策略示例
个股:中国平安
回测日期:2022-5-1至2023-5-1
短均线:5天
长无线:10天
def initialize(context):
# 初始化此策略
# 设置我们要操作的股票池, 这里我们只操作一支股票
# """标的"""
g.security = '601318.SS'
set_universe(g.security)
#当五日均线高于十日均线时买入,当五日均线低于十日均线时卖出
def handle_data(context, data):
security = g.security
#得到二十日历史价格
df = get_history(20, '1d', 'close', security, fq=None, include=False)
#"""指标"""
# 得到五日均线价格
ma5 = round(df['close'][-5:].mean(), 3)
ma5_prev = round(df['close'][-6:-1].mean(), 3)
# 得到十日均线价格
ma10 = round(df['close'][-10:].mean(), 3)
ma10_prev = round(df['close'][-11:-1].mean(), 3)
# 取得昨天收盘价
price = data[security]['close']
# 得到当前资金余额
cash = context.portfolio.cash
#"""择时"""
# 如果当前有余额,并且五日均线大于十日均线
if ma5 > ma10 and ma5_prev < ma10_prev:
# 用所有 cash 买入股票
order_value(security, cash)
# 记录这次买入
log.info("Buying %s" % (security))
# 如果五日均线小于十日均线,并且目前有头寸
elif ma5 < ma10 and ma5_prev > ma10_prev :
# 全部卖出
order_target(security, 0)
# 记录这次卖出
log.info("Selling %s" % (security))
def control_risk(context):
#"""风控"""
pass
修改两条均线日期后
个股:中国平安
回测日期:2022-5-1至2023-5-1
短均线:10天
长无线:15天
def initialize(context):
# 初始化此策略
# 设置我们要操作的股票池, 这里我们只操作一支股票
# """标的"""
g.security = '601318.SS'
set_universe(g.security)
#当五日均线高于十日均线时买入,当五日均线低于十日均线时卖出
def handle_data(context, data):
security = g.security
#得到二十日历史价格
df = get_history(20, '1d', 'close', security, fq=None, include=False)
#"""指标"""
# 得到十日日均线价格
ma5 = round(df['close'][-10:].mean(), 3)
ma5_prev = round(df['close'][-11:-1].mean(), 3)
# 得到十五日均线价格
ma10 = round(df['close'][-15:].mean(), 3)
ma10_prev = round(df['close'][-16:-1].mean(), 3)
# 取得昨天收盘价
price = data[security]['close']
# 得到当前资金余额
cash = context.portfolio.cash
#"""择时"""
# 如果当前有余额,并且五日均线大于十日均线
if ma5 > ma10 and ma5_prev < ma10_prev:
# 用所有 cash 买入股票
order_value(security, cash)
# 记录这次买入
log.info("Buying %s" % (security))
# 如果五日均线小于十日均线,并且目前有头寸
elif ma5 < ma10 and ma5_prev > ma10_prev :
# 全部卖出
order_target(security, 0)
# 记录这次卖出
log.info("Selling %s" % (security))
def control_risk(context):
#"""风控"""
pass
热门推荐
人工智能将走向何方?
教资体检都对视力有要求,你还觉得视力好坏无所谓吗
茶与免疫力:科学依据与实践应用
假期收心大作战!6步让孩子爱上学习
地震避险全攻略:预警、逃生、自救知识一文掌握
人体腰椎间盘结构详解
碧瑶出局!萧鼎修订《诛仙》,20年红白玫瑰之争彻底引爆
VC与VS(Visual Studio)的对应版本关系详解
编内、合同、民办的大学老师,三者收入能差多少?
庐山不可错过的八大绝美景点,你去过几个?
四大血型如何在困难中寻找机会?
图解价值投资大师使用的估值分析框架
品味文昌鸡饭,领略海南风味
2024廊坊经洽会·观察丨跨境电商促河北产业集群加速出海
新市场开拓的 14 个关键要点及成功案例分享
职业打假人:是维权还是逐利?行为边界如何界定?
下好“先手棋”,释放陕西文旅消费新活力
攻略先读:场内基金交易指南
人工智能绘画在古诗图像化中的应用探索
2025历史学专业选科要求:必选科目有哪些?
佛教道教呼吸法门:安那般那、六妙法门等详解
重庆打卡人间烟火的小吃,这里带你一站式寻味!
手掌有一块突然黄了原因
PNAS最新研究:AI聊天机器人通过图灵测试,行为特征与人类高度相似
汽车方向盘抖动怎么办?11种原因及解决方案全解析
50个IgA肾病的重要常识,助你远离尿毒症
黄巢的诗:历史与文学中的独特韵律
上海目前最低工资标准是多少?
如何选择合适的租房方式并确保居住质量?这种选择怎样符合预算?
质押权的构成要素及其在金融交易中的作用