话不多说先上代码,这个分布情况指的就是分析一下涨跌幅在每个百分比阶段各有多少天,例如0%-1%有多少天,1%-2%有多少天:

import os#缓存数据class SecurityData:  count = 0 #数量  endRange = 0 #结束幅度  startRange = 0 #开始幅度#数据集合lst = []for val in range(-10,11):  securityData = SecurityData()  securityData.startRange = val  securityData.endRange = val + 1  lst.append(securityData)#打开日志文件fs = open(r'C:\Py\result.txt','a+')#打开日K线文件fs2 = open(r'C:\Py\SH000001.txt', 'r', True)#索引pos = 0#上次收盘价lastClose = 0#循环遍历每一行while True:  #读取该行  line = fs2.readline()  #没有行的时候退出  if not line: break  #去除前2行和尾行  if pos > 1 and len(line) > 20:    #分割字符串    strs = line.split(',')    #收盘价    closePrice = float(strs[4])    #开盘价    openPrice = float(strs[1])    if pos == 2:      lastClose = openPrice    if lastClose > 0:      diffRange = 100 * (closePrice - lastClose) / lastClose      if diffRange >= -10 and diffRange <= 10:        data = lst[int(diffRange) + 10]        data.count = data.count + 1    lastClose = closePrice  #累加索引  pos = pos + 1#给列表排序from operator import attrgetterlst2 = sorted(lst, key=attrgetter('startRange'), reverse=False)#输出for val in lst2:  print(str(val.startRange) + '% to ' + str(val.endRange) + '%,' + str(val.count))  fs.write(str(val.startRange) + '% to' + str(val.endRange) + '%,' + str(val.count) + '\r\n')#关闭文件流fs.close()fs2.close()

新建一个文件,命名为RANGE.py,并将上述代码粘贴到你的文件中。

按照教程下载K线数据,并放到一个文件夹中:

修改Python中的文件和文件夹路径为你的路径:

如果没有安装Python,就到这个地址下载安装一下:

https://www.python.org/ftp/python/3.9.0/python-3.9.0-amd64.exe

注意第一个界面的Add to Path一定要勾上。

打开命令提示行,输入python C:\PY\RANGE.py

输入回车运行脚本,得到如下结果:

result.txt中也输出了结果:

通过上述数据我们可以看到,上证指数涨幅在0%-1%的天数是最多的,达到了一半,并且阳线的数量要远远多于阴线。

结论:

1.计算结果完全正确,而且是完全对应通达信的;

2.可以直接运行,得到结果文件result.txt,怎么用看你的;

3.可以修改代码,例如修改输入结果文件的格式;

4.不止用于A股,什么品种,数据,包括1分钟,5分钟,60分钟线也都可以;

5.可以用来做交易回测。

6.可以把代码嵌入你的Python中,用来做实时监控。

python计算卡方分布_如何用Python计算上证指数的涨跌幅分布情况?相关推荐

  1. 如何用python计算圆周率_如何用python计算圆周率?

    如何用python计算圆周率? python计算圆周率的方法: 圆周率没有精确的计算公式,所以只能用近似的方式计算它的近似值. 我们运用蒙特卡罗方法,思路很简单,在下面图形中随机抛置大量的点, 计算落 ...

  2. python旅游推荐系统_如何用Python搭建一个简单的推荐系统?

    推荐系统的相关知识我们已在前文中提到,在这篇文章中,我们会介绍如何用Python来搭建一个简单的推荐系统. 本文使用的数据集是MovieLens数据集,该数据集由明尼苏达大学的Grouplens研究小 ...

  3. python md5加密_如何用python“优雅”的调用有道翻译?

    前言 其实在以前就盯上有道翻译了的,但是由于时间问题一直没有研究(我的骚操作还在后面,记得关注),本文主要讲解如何用python调用有道翻译,讲解这个爬虫与有道翻译的js"斗争"的 ...

  4. python求平均值_如何用python求平均值

    学习了Python相关数据类型,函数的知识后,利用字符串的分割实现了输入任意多个数据,并计算其平均值的小程序.思路是接收输入的字符串,以空格为分隔符,将分割的数据存入列表(lst1)中,将lst1中的 ...

  5. python小助手_如何用python写个人专属群聊提醒小助手?

    前言 大家还记得教会父母玩微信是什么时候吗?父母学会后,我们的生活就发生了「质」的变化,父母也许会吐槽你的微信头像不好,要你换一个头像. 最近 pk哥 又被母后大人吐槽了,原因是亲戚微信群里某个亲戚生 ...

  6. python三门问题_如何用 Python 解读著名的“三门问题”?

    原标题:如何用 Python 解读著名的"三门问题"? 作者 | 小詹 责编 | 郭芮 本文我们用Python分析著名的"三门问题". 不过在这之前 ,可以先来 ...

  7. 温度转换python代码解释_如何用python代码温度转换?

    如何用python代码温度转换? 用python代码温度转换的方法: 步骤一:分析问题的计算部分 步骤二:确定功能,使用IPO方法进一步分析 输入:华氏或者摄氏温度值.温度标识 处理:温度转化算法 输 ...

  8. python预测房价走势_如何用 Python 预测房价走势?

    原标题:如何用 Python 预测房价走势? 买房应该是大多数都会要面临的一个选择,当前经济和政策背景下,未来房价会涨还是跌?这是很多人都关心的一个话题.今天分享的这篇文章,以波士顿的房地产市场为例, ...

  9. python输出偶数_如何用python判断奇偶数

    问题分析:用Python编写一个程序,判断输入的数字是奇数还是偶数,并相应的输出信息,要判断一个数为奇数还是偶数,依据的是它被2除后的余数.因此可以用"%"运算符来计算并判断. 代 ...

最新文章

  1. 阿里云mysql强制走索引_MYSQL中常用的强制性操作(例如强制索引)
  2. RMAN删除归档日志不释放问题
  3. 计算机应用基础本科常见问题讨论,《计算机应用基础》(本科)2017年6月期末考试指导.pdf...
  4. EdgeRouter X设置外网远程访问和HTTPS连接指定出口网关
  5. 7-11 租用游艇问题 (15 分)(思路+详解+一步步分析+网格解决动态规划问题)Come boy!!!!
  6. mac自带python升级_mac升级Python失败?
  7. Asp.net MVC3.0 入门指南 6 审视编辑方法和视图
  8. 性能测试案例模板 性能测试用例模板 测试案例 性能用例 模板 容我想想之性能测试系列培训...
  9. java 11下载_jdk11版
  10. Springboot2.3.x整合Canal
  11. 部分主流视频网站下载方法
  12. XML文件详解以及解析
  13. 实现BIM的Revit软件学习资料
  14. 2022冬-DownKyi 辅助使用的小插件源码分享
  15. 【Axure教程】中继器版穿梭表格
  16. java核心技术卷I-映射
  17. 【python】matplotlib.pyplot介绍
  18. bash:bison未找到命令
  19. 【原创】关于联想Y400适配器和电池同时使用无法开机的问题
  20. python实现topk问题

热门文章

  1. 思科模拟器叫什么_《班主任模拟器》第155关怎么过 通关技巧分享
  2. python中字符串函数的用法_python中字符串内置函数的用法介绍(代码)
  3. ❤️关于 idea 安装 Vue 插件后新建文件不显示 Vue Component 的问题及解决方法❤️
  4. HoloLens 2开发:Pcx 渲染点云单眼显示问题
  5. 一些常用的简单的Lambda写法
  6. python中int的用法归类
  7. layuit 框架_Layui|经典模块化前端框架
  8. Halcon图像预处理与形态学(形态学)
  9. 用nodejs 调试nginx rewrite 后输出路径
  10. docker任务调度工具: ofelia