量化交易学习笔记:双均线策略详解与实战
创作时间:
作者:
@小白创作中心
量化交易学习笔记:双均线策略详解与实战
引用
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
回测结果:
热门推荐
江苏深挖历史文旅融合 打开文旅高质量发展新赛道
电动车刹车变迁:从鼓刹到碟刹的趣味解析与明智选购指南
动物如何影响我们的心理健康,人和动物的关系带来情感寄托
老舍果然没有骗人,济南的冬天绝了
林超:“那兔”逐星海 花开种花家
探秘秃鹫的雄壮体态与强大飞行能力的空中王者
按揭购房与全款购房:法律视角下的成本比较
出口摩托车海关归类和各国进口认证要求
巴中市中心医院成功开展首例ECPR(ECMO辅助下的心肺复苏)
网签合同如何备案?一文详解流程及相关问题
脊髓栓系综合征
存量房"以旧换新",南京出新招!
部分技术达到国际领先水平 重庆推动智能机器人产业向高端化智能化迈进
一文读懂mRNA rRNA tRNA结构和功能
遭遇网络谣言怎么办?证据不足也能维权!
羊角蜜几月份种植?如何种植?
国医大师方和谦:京城十大名医之后,从医50余年,医术精湛,桃李满天下
摩托车进口清关手续流程详解
2025年养成这7个习惯让人生效率开挂翻十倍
尚织汉服学塾:商周时期衣着变化及特征
成龙,绝世孤品
当林克成了女生 《塞尔达传说》会失去人气么?
滴定分析法常用的滴定方式有哪些
推荐4本穿越到明朝的历史架空小说,布局宏大设定完美,放心阅读
凤凰单丛十大香型:从黄枝香到茉莉香,品味“茶中香水”的独特韵味
活血化瘀药物:到底该吃多久?
民诉再审规则全解析:申请条件与流程深度剖析
元代美学:简逸之美与文人意趣
苹果手机验机全攻略:确保原装正品,远离翻新陷阱
身份证丢失后应该怎么办?报警还是自己处理呢?