要求:
1. 使用tushare包获取某股票的历史行情数据
2. 使用pandas包计算该股票历史数据的5日均线和30日均线
3. 使用matplotlib包可视化历史数据的收盘价和两条均线
4. 分析输出所有金叉日期和死叉日期
5. 如果我从2010年1月1日开始,初始资金为100000元。金叉尽量买入,死叉全部卖出,则到今天为止,我的股票收益率为多少?

import numpy as np
import pandas as pd
import matplotlib as plt
import tushare as ts# 获取财经数据
df = ts.get_k_data("601318",start="2000-01-01")
df.to_csv("601318.csv")# 读取财经数据并计算五日、三十日的平均收盘价
df = pd.read_csv("601318.csv",index_col = 'date',parse_dates = ['date'])[['open','close','low','high']]
df['ma5'] = df['close'].rolling(5).mean()
df['ma30'] = df['close'].rolling(30).mean()
df[['close','ma5','ma30']].plot()# 获取金叉和死叉的日期
ar1 = df['ma5'] < df['ma30']
ar2 = df['ma5'] >= df['ma30']
death_cross = df[ar1 & ar2.shift(1)].index
golden_cross = df[-(ar1 | ar2.shift(1))].index# 执行交易策略
first_money = 100000
money = first_money
hold = 0
sr1 = pd.Series(1,index=golden_cross)
sr2 = pd.Series(0,index=death_cross)
sr = sr1.append(sr2).sort_index()for i in range(0,len(sr)):p = df['open'][sr.index[i]]if sr.iloc[i] == 1:buy = money//(100*p)hold += buy*100money -= buy*100*pelse:money += hold * phold = 0# 计算最后余下的金额总和
p = df['open'][-1]
now_money = hold * p + moneyprint(now_money)

Python | 双均线策略进行交易相关推荐

  1. Python双均线策略回测(2021-10-12)

    Python双均线策略回测 1.择时策略简介 根据百度百科的解释,择时交易是指利用某种方法来判断大势的走势情况,是上涨还是下跌或者是盘整.如果判断是上涨,则买入持有:如果判断是下跌,则卖出清仓,如果是 ...

  2. python双均线策略,当五日均线位于十日均线上方则买入,反之卖出。(聚宽量化平台使用)

    ''' ** python双均线策略,当五日均线位于十日均线上方则买入,反之卖出.(聚宽量化平台使用) ** ''' 初始化函数,设定要操作的股票.基准等等 def initialize(contex ...

  3. 量化择时——平均K线图双均线策略(第1部分—策略效果测算)

    文章目录 平均K线图概述 OHLC的计算方式 K线图走势对比 平均K线图阴阳线交易策略 交易规则 测算结论 双均线策略测算 测算规则 测算结论 平均K线图概述 平均K线图是蜡烛图的一种分支,在日本,H ...

  4. Python量化交易02——双均线策略(移动平均线)

    参考书目:深入浅出Python量化交易实战 本次带来最经典的交易策略,双均线策略的构建和其回测方法. 双均线一般采用5天均值和10天均值,如果5日均线上穿突破了10日均线,说明股价在最近的涨势很猛,买 ...

  5. Python量化交易实战-38使用开源项目回测双均线策略

    B站配套视频教程观看 使用PyAlgoTrade回测双均线策略 双均线策略:长短周期均线,通过金叉,死叉的方式买入卖出股票,获取收益的策略. 回顾上节课代码的部分,上节课完成了可视化代码的部分, 主要 ...

  6. Python量化交易策略--双均线策略及代码

    双均线策略是比较经典的策略,股票的价格均线是投资参考的重要指标.均线有快线和慢线之分,当快线向上穿过慢线则是金叉,一般执行买入操作,当快线向下穿过慢线时则形成死叉,一般执行卖出操作.基于这个基本思路, ...

  7. 量化交易入门----双均线策略

    本文采用了聚宽平台接口进行量化策略设置: 一.效果图 双均线策略:双均线策略,当五日均线位于十日均线上方则买入,反之卖出. 二.证券知识: 策略收益(Total Returns) 最容易理解的一个概念 ...

  8. 用Python写一个简单的双均线策略分析

    用Python写一个简单的双均线策略 双均线策略 先罗列一下我知道的量化策略: 双均线:一句话来讲就是金叉买死叉卖. 布林带:突破压力线(上轨)清仓,跌破支撑线(下轨)持仓. PEG:根据PE/G调整 ...

  9. Python数据分析之股票双均线策略制定

    Python数据分析之股票双均线策略制定 需求:双均线策略制定 库 tushare包 预处理数据 df = pd.read_csv('./maotai.csv').drop(labels='Unnam ...

最新文章

  1. 《转》java设计模式--工厂方法模式(Factory Method)
  2. 爱要大声“手”出来!一个程序猿的七夕表白应用!
  3. 线性判别分析LDA的数学原理(二)
  4. 【NLP】NLP实战篇之tensorflow2.0快速入门
  5. Perturbed Masking:和参数无关的预训练模型分析方法
  6. VS2012 生成项目报 Lc.exe已退出,代码为-1 错误
  7. MongoDB基础介绍安装与使用
  8. 如何用命令行查看服务器型号,服务器查看内存命令行
  9. 分布式SQL学习总结(1)——蚂蚁金服资深总监韩鸿源:像使用集中式数据库一样使用OceanBase分布式数据库
  10. vue day8 table page
  11. 房屋租赁管理系统 基于SSM框架 带视频讲解 有文档
  12. ardupilot 关于设备车Rover的学习《1》------如何编译下载
  13. 云原生--k8s之pod
  14. mac怎么更新python_mac上更新python的方法
  15. maven镜像源及代理配置
  16. 第三方代付入帐是什么意思
  17. docker + laravel项目使用elasticsearch进行全文检索功能
  18. ERP咨询顾问必备的7种公关能力
  19. TR069在家庭网络中的应用
  20. pytest报错 E ModuleNotFoundError解决办法

热门文章

  1. HTML table表头固定
  2. ionic混合开发——个人头像处理
  3. MySQL 运行状态为Active: active (auto-restart)或Active: active (start)
  4. 汽车美容APP开发,打造汽车美容新体验
  5. 从保险科技看数字化如何改变保险行业
  6. 荔枝FM赖奕龙:尽量选择精明的VC
  7. wavefast.m
  8. 远程连接不上mysql8遇到的问题
  9. 10.16打卡 Codeforces Round #827 (Div. 4) A~E
  10. 四大组件之ContentProvider(三)-ContentProvider的数据存储