深入浅出Python量化交易实战--第2章 回测与经典策略(中)

本文深入探讨Python量化交易中的移动平均策略,包括单一移动平均(SMA)和双移动平均策略的实现与回测。通过绘制股价与均价的关系,分析策略在下行市场中的表现,为交易决策提供参考。
摘要由CSDN通过智能技术生成

2.2 经典策略之移动平均策略

在2.1节中,我们使用了一个简单的回测,验证了一下小瓦的“低买 高卖”策略。总体来看,这个策略虽然没有让小瓦损失太多资产,但是 也没有带来期待的回报。因此,小瓦迫不及待地想知道,有没有一个更 好的策略能提高交易的回报。

实话说,想设计一个百分之百达到预期收益的策略,目前看来是不 现实的。历史上确实有一些比较经典的策略,如本节介绍的单一移动平 均(Single Moving Average,SMA)策略。

2.2.1 单一移动平均指标

移动平均策略的核心思想非常简单,且十分容易理解。当股价上升 且向上穿过N日的均线时,说明股价在向上突破,此时下单买入;当股 价下降且向下穿过N日的均线时,说明股价整体出现下跌的趋势,此时 下单卖出。或者当M日均价上升穿过N日的均线(M < N)时,说明股票 处于上升的趋势,应下单买入;反之,当M日均价下降且穿过N日均线 时,说明股票处于下降的趋势,应下单卖出。

在这个策略中,需要用到的指标便是均线。下面我们使用代码来演 示股价均线的绘制,还是使用2.1节中下载的股票数据,选取20个交易 日的股票均价作为均线,输入代码如下:

#导入必要的库
import tushare as ts
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

pd.set_option('expand_frame_repr', False)  # True就是可以换行显示。设置成False的时候不允许换行
pd.set_option('display.max_columns', None)  # 显示所有列
pd.set_option('display.max_rows', None)  # 显示所有行
pd.set_option('colheader_justify', 'centre')  # 显示居中

ts.set_token('你的token')
pro = ts.pro_api()
# 股票代码
ts_code="002624.SZ"
start = "20210101"
end = "20230310"
# # 日线行情
zgpa = pro.daily(ts_code=ts_code, start_date=start, end_date=end)
zgpa.sort_values('trade_date', inplace=True)
zgpa.set_index('trade_dat
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值