金融量化分析-金叉和死叉


```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import tushare as ts#从tushare库中获取闻泰科技股票K信息,从20190101至今,并保存为csv
df = ts.get_k_data('600745',start='2019-01-01')#
df.to_csv('600745.csv')
#利用pandas读取csv,将date列作为索引导入,并选取所需要的列
df = pd.read_csv("600745.csv", index_col='date',parse_dates=['date'])[['open','close','low','high']]
#创建两列为控制
df['ma5'] = np.nan
df['ma30'] = np.nan
# 计算5日均线和30日均线值
#方法一
# for i in range(4,len(df)):
#    df.loc[df.index[i],'ma5'] = df['close'][i-4:i+1].mean()# for i in range(29,len(df)):
#    df.loc[df.index[i],'ma30'] = df['close'][i-29:i+1].mean()
#方法二,以开盘价为计算标准
df['ma5'] = df['open'].rolling(5).mean()
df['ma30'] = df['open'].rolling(30).mean()
#截取相应的值,进行绘图
df = df[:]
df[['close','ma5','ma30']].plot()
#plt.show()
#获取金叉日期和死叉日期,今天的值与昨天的值进行对比
#故先删除没有值的行
df = df.dropna()
#本处利用两种方法,第一种循环比较,将比较好的值传入列表当中
golden_cross = []
death_cross = []
for i in range(1,len(df)):if df['ma5'][i] >= df['ma30'][i] and df['ma5'][i-1] < df['ma30'][i-1]:golden_cross.append(df.index[i])if df['ma5'][i] <= df['ma30'][i] and df['ma5'][i-1] > df['ma30'][i-1]:death_cross.append(df.index[i])
#方法二 布尔值方法,shift移动列表后进行比较,得到对应的日期
#str1 = df['ma5'] < df['ma30']
#str2 = df['ma5'] >= df['ma30']#death_cross = df[str1 & str2.shift(1)].index
#golden_cross = df[~(str1 | str2.shift(1))].index
#golden_cross#策略目标,在出现金叉的时候按当日最高价格买入,出现死叉的日期按当日最低价卖出。
first_money = 10000
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['high'][sr.index[i]]if sr.iloc[i] == 1:#金叉buy = (money // (100*p))hold += buy*100money -= buy*100*pelse:money += hold * phold = 0p = df['low'][-1]
now_money = hold * p + moneyprint(now_money - first_money)

金融量化-金叉和死叉相关推荐

  1. Python量化编程如何判断均线数据是金叉还是死叉?-股市数据均线策略编程分析

    Python量化编程如何判断均线数据是金叉还是死叉?-股市数据均线策略编程分析 以平安银行的股票数据为例进行分析 1.使用tushare获取股市数据,直接上代码: import pandas as p ...

  2. 金叉和死叉看哪几条线?股票macd金叉和死叉怎么看?

    资本市场上,每天都在演绎着转瞬即逝的遗憾,和曙光来临的场景.怎么更好的把握住机遇,人工智能和<股市三大猜想>指出人类在金融领域探索的脚步从未停止过.资本追逐利益是投资者的责任与使命,是金融 ...

  3. macd金叉kdj死叉的准确率_MACD金叉不涨又死叉

    小王根据<乔博士:MACD指标详解>学习到的内容,于是QR社区写下心得分享给大家,MACD金叉KDJ死叉 以下QR社区告诉我们MACD金叉KDJ死叉的解释: MACD指标(Moving A ...

  4. macd金叉公式成功率_MACD金叉kdj死叉和20日线可靠吗

    全球金融市场中,投资者使用各式各样的方法进行投资交易,有价值投资者,有技术分析投资者,那么孰高孰低呢?最近笔者在QR社区学习了<乔博士:MACD指标详解>就给大家讲的就是如何拥有一套自己的 ...

  5. 股票中的KD指标金叉和死叉

    股票中的KD指标金叉和死叉    -[ ] Time:2007-01-23 Tag: 投资理财 1.一般而言, D线由下转上为买入信号,由上转下为卖出信号. 2.KD都在0-100的区间内波动,50为 ...

  6. 金融分析之基本ma5 及金叉、死叉

    1 import pandas as pd 2 import numpy as np 3 import matplotlib.pylab as plt 4 5 res=pd.read_csv(&quo ...

  7. 什么叫金叉和死叉?什么叫macd二次死叉?

    根据QR社区的统计显示,现在股票市场上将近有90%的松散客户都是处于亏损状态,那么原因是什么呢?因为他们都是用散户思维在炒股.所以要是想改变现在的基本状况,主要还是要改变投资者的思维模式. 一.什么叫 ...

  8. (多头、空头、金叉、死叉、卖出信号、买出信号)的python处理

    1.指标概念 均值性指标:以平均数据作为参考的指标 随机性指标:以最高价最低价等为参考的指标 2.多头.空头.金叉.死叉.卖出信号.买出信号 多头:短期均线在长期均线上方 空头:短期均线在长期均线下方 ...

  9. matlab kdj线,kdj指标详什么时候买入,kdj金叉和死叉图解

    内容导航: Q1:股票什么时候买卖,只需看一眼KDJ指标就足够了 如果数据存放在excel里面,可以直接导进matlab,避免烦琐的输入 Q2:如何判断KDJ的超买超卖 KDJ指标又叫随机指标,应用法 ...

最新文章

  1. YOLOv3在OpenCV4.0.0/OpenCV3.4.2上的C++ demo实现
  2. LeNet试验(五)观察“彩票假说”现象
  3. mysql创建表时添加范式_MySql三大范式与数据库设计和表创建常用语句
  4. 【软件测试】白盒测试のN-S图
  5. usercontroller.java,springboot controller 参数绑定
  6. 【精华】Asp优化之缓存技术
  7. 微信团队分享:微信支付代码重构以及软件架构上的思考
  8. 0917 词法分析程序(java版)
  9. 不收费的数据恢复软件_有救了!快收好这7个数据恢复神器
  10. Win11系统可以快速截屏吗?
  11. 从开源硬件到开放型工业控制器
  12. [RK3568 Android11] 开发之强制APP横屏或者竖屏显示
  13. maya海龟烘焙法线_maya法线烘焙
  14. 什么是CTP程序化交易:系统入门
  15. 玩转 MATLAB 附加功能/硬件支持包安装
  16. 有道云笔记的敏捷开发实践——好文收藏吧!【转】
  17. 逍遥模拟器使用指南(四、逍遥安卓模拟器电脑版xposed框架教程)
  18. 算法设计-利用栈判别表达式中的括弧是否配对
  19. Linux 详解socket实现与网络编程接口
  20. FL studio 20中那些“花里胡哨”的效果器(三)

热门文章

  1. html列表横向变纵向,手机版利用 CSS 将横向表格转换成竖向列表显示
  2. esmtp 源码 分析
  3. 953. 验证外星语词典( 简单模拟 + 自定义定制排序 )
  4. 模型选择的几种方法:AIC,BIC,HQ准则
  5. 【Python代码】文件查重(01)-简易版
  6. Matlab官方在线代码搜索网站,很多开源matlab代码
  7. 推荐10个Vue 3.0开发的开源前端项目
  8. 程序员的爱情 第十七章
  9. 2017年南海区青少年信息学奥林匹克竞赛(小学甲组)
  10. linux系统下的动态壁纸,桌面应用|动态壁纸给linux发行版添加活力背景