Python | 双均线策略进行交易
要求:
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 | 双均线策略进行交易相关推荐
- Python双均线策略回测(2021-10-12)
Python双均线策略回测 1.择时策略简介 根据百度百科的解释,择时交易是指利用某种方法来判断大势的走势情况,是上涨还是下跌或者是盘整.如果判断是上涨,则买入持有:如果判断是下跌,则卖出清仓,如果是 ...
- python双均线策略,当五日均线位于十日均线上方则买入,反之卖出。(聚宽量化平台使用)
''' ** python双均线策略,当五日均线位于十日均线上方则买入,反之卖出.(聚宽量化平台使用) ** ''' 初始化函数,设定要操作的股票.基准等等 def initialize(contex ...
- 量化择时——平均K线图双均线策略(第1部分—策略效果测算)
文章目录 平均K线图概述 OHLC的计算方式 K线图走势对比 平均K线图阴阳线交易策略 交易规则 测算结论 双均线策略测算 测算规则 测算结论 平均K线图概述 平均K线图是蜡烛图的一种分支,在日本,H ...
- Python量化交易02——双均线策略(移动平均线)
参考书目:深入浅出Python量化交易实战 本次带来最经典的交易策略,双均线策略的构建和其回测方法. 双均线一般采用5天均值和10天均值,如果5日均线上穿突破了10日均线,说明股价在最近的涨势很猛,买 ...
- Python量化交易实战-38使用开源项目回测双均线策略
B站配套视频教程观看 使用PyAlgoTrade回测双均线策略 双均线策略:长短周期均线,通过金叉,死叉的方式买入卖出股票,获取收益的策略. 回顾上节课代码的部分,上节课完成了可视化代码的部分, 主要 ...
- Python量化交易策略--双均线策略及代码
双均线策略是比较经典的策略,股票的价格均线是投资参考的重要指标.均线有快线和慢线之分,当快线向上穿过慢线则是金叉,一般执行买入操作,当快线向下穿过慢线时则形成死叉,一般执行卖出操作.基于这个基本思路, ...
- 量化交易入门----双均线策略
本文采用了聚宽平台接口进行量化策略设置: 一.效果图 双均线策略:双均线策略,当五日均线位于十日均线上方则买入,反之卖出. 二.证券知识: 策略收益(Total Returns) 最容易理解的一个概念 ...
- 用Python写一个简单的双均线策略分析
用Python写一个简单的双均线策略 双均线策略 先罗列一下我知道的量化策略: 双均线:一句话来讲就是金叉买死叉卖. 布林带:突破压力线(上轨)清仓,跌破支撑线(下轨)持仓. PEG:根据PE/G调整 ...
- Python数据分析之股票双均线策略制定
Python数据分析之股票双均线策略制定 需求:双均线策略制定 库 tushare包 预处理数据 df = pd.read_csv('./maotai.csv').drop(labels='Unnam ...
最新文章
- 《转》java设计模式--工厂方法模式(Factory Method)
- 爱要大声“手”出来!一个程序猿的七夕表白应用!
- 线性判别分析LDA的数学原理(二)
- 【NLP】NLP实战篇之tensorflow2.0快速入门
- Perturbed Masking:和参数无关的预训练模型分析方法
- VS2012 生成项目报 Lc.exe已退出,代码为-1 错误
- MongoDB基础介绍安装与使用
- 如何用命令行查看服务器型号,服务器查看内存命令行
- 分布式SQL学习总结(1)——蚂蚁金服资深总监韩鸿源:像使用集中式数据库一样使用OceanBase分布式数据库
- vue day8 table page
- 房屋租赁管理系统 基于SSM框架 带视频讲解 有文档
- ardupilot 关于设备车Rover的学习《1》------如何编译下载
- 云原生--k8s之pod
- mac怎么更新python_mac上更新python的方法
- maven镜像源及代理配置
- 第三方代付入帐是什么意思
- docker + laravel项目使用elasticsearch进行全文检索功能
- ERP咨询顾问必备的7种公关能力
- TR069在家庭网络中的应用
- pytest报错 E ModuleNotFoundError解决办法
热门文章
- HTML table表头固定
- ionic混合开发——个人头像处理
- MySQL 运行状态为Active: active (auto-restart)或Active: active (start)
- 汽车美容APP开发,打造汽车美容新体验
- 从保险科技看数字化如何改变保险行业
- 荔枝FM赖奕龙:尽量选择精明的VC
- wavefast.m
- 远程连接不上mysql8遇到的问题
- 10.16打卡 Codeforces Round #827 (Div. 4) A~E
- 四大组件之ContentProvider(三)-ContentProvider的数据存储