当前位置:   article > 正文

转换通达信分钟数据,包括5分钟和1分钟数据_通达信1分钟数据格式

通达信1分钟数据格式

目录

1 前言

2 操作演示

 3 代码

4 软件下载

5 stockpy整体功能介绍


1 前言

真正的市场高手不但要熟练掌握日线,对分钟线也要进行深入研究。缠中说禅在他的博客中讲到,年、季、月、周、日、60分钟、30分钟、5分钟、1分钟研究道理是相同的。粒度越细,那么赢利点就越多。如果长期不操作,那么好苹果也会成为烂苹果。高手甚至能在某一天的某一秒就确定这一秒是几年来的最高点。这都需要剖析分钟线数据。

在研究的过程中,发现网上相关资料要不语焉不详,要不就是资料数据过时,无法直接拿来使用。这回正好借着在家发烧的大好时机,深挖细挖通达信分钟数据结构和python代码,终于可以顺利导出5分钟和1分钟数据了。在这里,python代码和程序都拿出来与大家免费分享。

软件主要增加以下内容:

* 转换通达信5分钟数据

* 转换通达信1分钟数据

* 以上数据中的日期字段,本来是一串数字,转换为可读日期“年月日”

* 分钟字段计算为“时:分”格式

2 操作演示

 

 

 3 代码

  1. from struct import *
  2. import pandas as pd
  3. import os
  4. # import sys
  5. import time
  6. import datetime
  7. import math
  8. # stock_list = []
  9. # linename=['code','date','open','high','low','close','amout','vol']
  10. # df_all_stock = pd.DataFrame(stock_list, columns=linename)
  11. def miniute2csv_data(dirname, fname, targetDir):
  12. ofile=open(dirname + os.sep + fname, 'rb')
  13. buf=ofile.read()
  14. ofile.close()
  15. ifile=open(targetDir + os.sep + fname+'.csv','w')
  16. num=len(buf)
  17. no=num/32
  18. b=0
  19. e=32
  20. line=''
  21. linename=str('date')+','+str('miniute')+','+str('open')+','+str('high')+','+str('low')+','+str('close')+','+str('amout')+','+str('vol')+'\n'
  22. ifile.write(linename)
  23. t = datetime.datetime.strptime("2012-11-11 00:00:00", "%Y-%m-%d %H:%M:%S")
  24. for i in range(int(no)):
  25. # a=unpack('IIIIIfII',buf[b:e])
  26. a = unpack('HHfffffii',buf[b:e])
  27. year=math.floor(a[0]/2048)+2004
  28. month=math.floor((a[0] % 2048)/100)
  29. day=(a[0] % 2048) % 100
  30. hm = (t + datetime.timedelta(minutes=a[1])).strftime("%H:%M")
  31. line = str(year)+'{:02}'.format(month)+'{:02}'.format(day)+','+hm+','+'{:.2f}'.format(a[2])+','+'{:.2f}'.format(a[3])+','+'{:.2f}'.format(a[4])+','+'{:.2f}'.format(a[5])+','+'{:.2f}'.format(a[6])+','+str(a[7])+'\n'
  32. # line = str(year)+'{:02}'.format(month)+'{:02}'.format(day)+','+str(a[1])+','+'{:.2f}'.format(a[2])+','+'{:.2f}'.format(a[3])+','+'{:.2f}'.format(a[4])+','+'{:.2f}'.format(a[5])+','+'{:.2f}'.format(a[6])+','+str(a[7])+'\n'
  33. # line =str(a[0]) +','+str(a[1])+','+'{:.2f}'.format(a[2])+','+'{:.2f}'.format(a[3])+','+'{:.2f}'.format(a[4])+','+'{:.2f}'.format(a[5])+','+'{:.2f}'.format(a[6])+','+str(a[7])+'\n'
  34. ifile.write(line)
  35. b = b+32
  36. e = e+32
  37. ifile.close()
  38. df_gp = pd.read_csv(targetDir + os.sep + fname + '.csv', sep=',')
  39. df_gp.to_excel(targetDir + os.sep + fname + '.xlsx')
  40. #print("可能需要较长时间,请耐心等待......")
  41. targetDir=r'.\data\tdx'
  42. # 目标文件夹若不存在,则创建
  43. if not os.path.exists(targetDir):
  44. os.makedirs(targetDir)
  45. time.sleep(1)
  46. # 沪市数据转换
  47. #tdxPath = r'C:\new_mszq_v6\vipdoc\sh\lday'
  48. #pathdir#
  49. #fn#
  50. if len(fn)==0:
  51. listfile = os.listdir(tdxPath)
  52. else:
  53. listfile = fn
  54. start = time.time()
  55. i = 0
  56. for f in listfile:
  57. i+=1
  58. #if i < 5:
  59. miniute2csv_data(tdxPath, f, targetDir)
  60. #print(f)
  61. print ('数据转换完成。')
  62. stop = time.time()
  63. print("用时:%s秒"%str(stop-start))

4 软件下载

免费软件。

下载:

https://www.1hwj.net/forum.php?mod=viewthread&tid=57&extra=

5 stockpy整体功能介绍

通达信日线数据转换为csv、xlsx、feather格式;

通达信5分钟、1分钟数据转换为csv、xlsx格式;

搜索历史数据中特定形态,目前支持61种形态;

主要面向不会编程的朋友,以上所有功能不需要学习编程,点击几次鼠标即可完成;

免费的哈。

其他功能需求请在评论区留言,如果有可能我会尽量实现。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/171137
推荐阅读
相关标签
  

闽ICP备14008679号