设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3525|回复: 3
打印 上一主题 下一主题

excel vba 处理股票期货数据

[复制链接]
跳转到指定楼层
1#
发表于 2016-8-3 15:44:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
股票期货日线数据处理

直接上代码
Public Const 通达信目录 = "E:\new_tdxqh\"
Public Const 期货日线目录 = 通达信目录 & "vipdoc\ds\lday\"
Public Const 期货5分钟目录 = 通达信目录 & "vipdoc\ds\fzline\"
Public Const 通达信期货分类文件 = 通达信目录 & "T0002\hq_cache\code2name.ini"
Public Const 上海股票日线目录 = 通达信目录 & "vipdoc\sh\lday\"
Public Const 上海股票5分钟目录 = 通达信目录 & "vipdoc\sh\fzline\"
Public Const 深圳股票日线目录 = 通达信目录 & "vipdoc\sz\lday\"
Public Const 深圳股票5分钟目录 = 通达信目录 & "vipdoc\sz\fzline\"
Function 期货日线(hy As String)  '处理期货日线历史数据
    Dim f As Integer
    Dim lLen As Long, i As Long
    Dim a()
    Dim b()
    Dim 长度
    Dim a1 As Long
    Dim 开盘 As Single
    Dim 最高 As Single
    Dim 最低 As Single
    Dim 收盘 As Single
    Dim 成交 As Long
    Dim 持仓 As Long
    Dim 昨结 As Single
    f = FreeFile
    Open 期货日线目录 & hy For Binary As #f
    lLen = LOF(f)
      ReDim Preserve a(1 To LOF(f) / 32)
   For i = 1 To LOF(f) / 32
      Get #f, , a1
   Get #f, , 开盘
   Get #f, , 最高
   Get #f, , 最低
   Get #f, , 收盘
   Get #f, , 持仓
   Get #f, , 成交
   Get #f, , 昨结
   日期 = CDate(Left(a1, 4) & "/" & Left(Right(a1, 4), 2) & "/" & Right(a1, 2))
   a(i) = Array(日期, 开盘, 最高, 最低, 收盘, 持仓, 成交, 昨结)
   Next
      
    Close #f
    长度 = UBound(a, 1)
ReDim Preserve b(1 To 长度, 1 To 8)
For i = 1 To 长度
     For j = 1 To 8
     b(i, j) = a(i)(j - 1)
     Next
Next
   
    期货日线 = b
End Function

这里就是一个处理2进制文件的OPEN 命令,open  " E:\new_tdxqh\vipdoc\ds\fzline\#47IFL8.day"
具体文件请看一下通达信存放日线数据的目录。
函数返回的是一个数组
EXCEL 的SHEET表其实也是数组,不过功能更强大
SHEET表的CELLS(I,J)就可以看做是数组的ARR(I,J)
因为K线数据我们只处理为一个2维数组,所以用EXCEL 很直观,数组很容易在EXCEL里面打印出来。
只要明白CELLS(I,J) =====ARR(I,J)就行。
举个例子
sub 列表()
dim hy as string
hy ="#47IFL8.day"  '沪深300主力连续
数据 =期货日线(hy)
行数 = ubound(数据,1)‘这里是数组的行数
列数=ubound(数据,2)’这里是数组的列数
for i= 1 to 行数
foe j = 1 to 列数
cells(i,j)=数据(i,j)
next
next
end sub
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏1 分享分享 分享淘帖 订阅订阅

点击这里给我发消息

2#
发表于 2016-8-4 09:50:21 来自手机 | 只看该作者
回复

使用道具 举报

3#
发表于 2016-8-4 16:10:05 | 只看该作者


1、hy指的是否文本文件?还是其它二进制文件?如果是其他二进制文件,是否需要转码或者编译?
2、这里应该是对已有数据进行处理的一个小程序吧。也就是说,程序运行的前提是:“期货日线目录”存在这些文件,否则不能处理。用VB的Open方法是一种,用opentextfile也是一种。

当然,站长说“不错”,肯定是“不错”的。只是我比较愚钝,没看出来。

点击这里给我发消息

4#
发表于 2016-8-5 12:12:47 来自手机 | 只看该作者
roych 发表于 2016-8-4 16:10
1、hy指的是否文本文件?还是其它二进制文件?如果是其他二进制文件,是否需要转码或者编译?
2、这里 ...


来自: 微社区
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-27 16:29 , Processed in 0.087556 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表