量化交易学习笔记:双均线策略详解与实战
创作时间:
作者:
@小白创作中心
量化交易学习笔记:双均线策略详解与实战
引用
CSDN
1.
https://blog.csdn.net/weixin_42844704/article/details/146303939
双均线策略是一种常见的量化交易策略,通过计算短期和长期移动平均线的交叉点来判断买卖时机。本文将通过具体的Python代码示例,展示如何使用双均线策略进行量化交易,并通过回测结果来验证策略的有效性。
双均线策略示例
个股:中国平安
回测日期: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
ptrader测试结果:
修改两条均线日期后
个股:中国平安
回测日期: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
回测结果:
热门推荐
如何把握黄金投资的时机?关键因素与策略全解析
荒野大镖客2游侠:探索西部荒野的终极指南
量化专题:反转策略在CTA上的应用研究
如何制定合理的股票建仓策略?这种策略有哪些风险?
上海轨道交通14号线、18号线一期北段即将开通运营
中国科大俞汉青院士团队,最新Nature Water!
轻微伤一般怎么解决
服务流程优化在餐饮业的应用实例
"原声悠扬"情景民歌会:伍家台贡茶文化惠民演出在宣恩举行
拟+1!江西这些5A级景区,你去过几个?
INTJ 与 INTP:性情类型对比及 MBTI 差异
大道至简:中国古代哲学智慧的现代启示
2025年注册美国公司全指南:核心要求与合规要点解析
四川必去的十大古镇旅游攻略,感受最地道的四川味道!
申请劳动仲裁要交多少钱(劳动仲裁收费)
如何高效申请美国名校与语言学校:全流程解析与实用建议
成品油供需观察31:2024年末柴油供需差值达到峰值汽油底部反弹
2025年315前瞻:聚焦热点预测,解读AI赋能下企业舆情管理新范式
如何了解国际金价的变动情况?这种变动情况受哪些因素影响?
房东不租叫搬走怎么办没合同
房租到期正常给几天搬走
俄罗斯突发神秘病毒!全球警戒升级,多国紧急应对
如何礼貌且高效地应对工作中的无关问题
精准营销:大数据在电商运营中的应用实践
直播套路、测评暗广......这份“避坑指南”必须收藏!
儿童急性中毒怎么办?看这里!
股市投资技巧:如何利用技术分析获利?
首日又暴涨,追高请谨慎!统计显示:近年10倍新股,追高亏损概率一览
冬至来了,一年中最重要的养生时机!三个养生重点,储备一整年健康
破解职场晋升困局:HR视角下的职业发展突围指南