前言
承接上文,在实现pandas进行数据清洗、作均线之后,已经可以开始实现一些简单的小策略了。
小策略一:如果当日收盘价向上突破120日均线,则买入,如果当日收盘价向下突破120日均线,则卖出。
小策略二(周规则):如果当日收盘价向上突破前50日的最高价,则买入,如果当日收盘向下突破前20日的最低价,则卖出。
数据:2009/3/12至2019/3/12的上证综指数据,包括最高价,最低价,开盘价,收盘价,来自国泰安CSMAR数据库。
代码
#此程序用于读取上证综指的近10年数据,并且计算120日均线,利用周规则进行投资,看回报率如何
import numpy as np
import pandas as pd
import datetime
import matplotlib.pyplot as plt
data = pd.read_csv("TRD_Index.csv")
#读取收盘价
close_price = data[data["Indexcd"] == 1]["Clsindex"]
high_price = data[data["Indexcd"] == 1]["Hiindex"]
low_price = data[data["Indexcd"] == 1]["Loindex"]
#读取指数的code
stk = data["Indexcd"]
stk = stk.drop_duplicates()
#print(stk)
#最初,df只表示收盘价,行是时间,列是股票代码
df = pd.DataFrame(close_price.tolist(), index = data[data["Indexcd"] == 1]["Trddt"], columns = [stk.iloc[0]])
cls_high_low_price = {
"close_price": close_price,
"high_price": high_price,
"low_price": low_price
}
df2 = pd.DataFrame(cls_h

本文介绍如何利用pandas处理历史数据,实现两个简单的交易策略:收盘价突破120日均线的买卖策略和基于周规则的买卖策略。通过2009/3/12至2019/3/12上证综指数据,计算了这两个策略的十年总回报率和年平均复利回报率,结果显示周规则策略表现优于简单均线策略。

752

被折叠的 条评论
为什么被折叠?



