思路:
1.导入需要的包
2.设置变量股票代码,移动平均线,阈值
3.定义函数 load_ohlc_from_local 读取本地文件设置日期为索引,返还DataFrame格式
4.定义buy与sell函数来模拟买卖并打印别买卖股票的代码,价格,数量与日期
5.定义calc_buy_vol通过余额cash给定的价格price来计算买入时交易的股票数量
6.定义open_current_order记入开仓的价格,开仓交易的数量,开仓日期,将余额cash全局化并计算开仓后的余额
7.定义close_current_order计算平仓价格,平仓日期,订单的盈亏,将current_orders中的订单移入history_orders中,再次更新cash余额
8.定义calc_total_pnl计算总盈亏
9.定义update_equity计算股票价格更新计算资产总值
10.定义back_test进行回测,遍历历史数据,根据移动平均线malen和价格波动的阈值判断买入与卖出信号,再调用buy sell等定义过的函数模拟交易
11定义plot_candles绘制K线图,显示开盘价,收盘价,最高价,最低价
12定义cast_orders_onto_candles将历史订单的开仓平仓信息绘制到K线图上
13主程序,设置股票代码,名称,参数,加载历史数据,回测,计算总盈亏并绘制相应的图表
代码: