导航:首页 > 数据行情 > vba股票历史数据获取

vba股票历史数据获取

发布时间:2023-10-30 14:22:35

⑴ EXCEL如何用VBA自动获取每个股票近几天的涨幅

excel大量获取数据是比较慢的 你这种得用vb写dll多线程刷新数据才行 私聊

⑵ 哪里可以下载股票历史数据

股票历史数据查询有个很不错的网页工具弊让纳可以推荐,地址是http://tool.cnfunny.cn/#/打开就可以直接使租没用,还可以大批量下载,方便省事滑埋!

⑶ 请问如何批量下载股票历史数据

⑷ VBA编程读入数据

Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
'假设股票数据在1,2行,用户输入股票名称的单元格为“A4”
Set objRange = Range("A4")
'判断用户是否在A4中进行输入
If Not Intersect(Target, objRange) Is Nothing Then
strInput = objRange.Value
'调用HLookUp对数据进行检索
With Application.WorksheetFunction
strOutput = .HLookup(strInput, Range("1:2"), 2, 0)
End With
'检索失败进行提示
If strOutput = "" Then
MsgBox "无效输入"
'检索成功,新建Excel文档,将用户输入数据和查询结果赋值给指定单元格
Else
Set objExcelApp = CreateObject("Excel.Application")
objExcelApp.Visible = True
Set objWorkBook = objExcelApp.Workbooks.Add
Set objSheet = objWorkBook.Sheets.Item(1)
objSheet.Cells(1, 1).Value = strInput
objSheet.Cells(2, 1).Value = strOutput
objWorkBook.SaveAs "D:\test\Result.xls"
objWorkBook.Close
objExcelApp.Quit
Set objExcelApp = Nothing
End If
End If
End Sub
不知道这样是否是你想要的~

⑸ 如何下载股票历史成交数据到Excel或txt

以华中智能股票软件为例:(以Think pad X13 锐龙版笔记本电脑,Windows 10 操作为例)首先切换到要下载数据的股票K线形态,按“F1”进入“日线某某股票历史成交”,点击鼠标右键->数据导出->导出所有数据->在“请选择导出的类型”中选择excel或txt
补充资料:
如何获取所有股票历史数据:
如果要对股市进行分析,首先就要获取所有股票的历史数据,只有通过股票的历史数据,我们才能分析出股市的规律。
(以Think pad X13 锐龙版笔记本电脑,Windows 10 操作为例)
一、工具/原料
1、EXCEL2007或者以上版本,不能使用WPS
2、电脑1g内存1核处理器及以上配置
3、拥有较强逻辑分析能力以及少量智慧及以上的大脑一颗
方法/步骤:
第一步,获取股票代码,复制其中一部分到第一个工作表A4到A127,然后通过程序把每一个代码写入到不同的工作表A2位置,并对该工作表以该股票代码命名。程序如下:
Sub 工作表命名()
For i = 4 To 127
Sheets(i).Range("a2") = "'" & Sheets(1).Range("a" & i)
Next i
For i = 4 To Sheets.Count
Sheets(i).Name = Sheets(i).Range("a2").Value
Next
End Sub
第二步,获取股票历史数据。代码如下:
Private Function GetSource(sURL As String) As String
Dim oXHTTP As Object
Set oXHTTP = CreateObject("MSXML2.XMLHTTP")
oXHTTP.Open "GET", sURL, False
oXHTTP.Send
GetSource = oXHTTP.responsetext
Set oXHTTP = Nothing
End Function
Sub 历史数据()
Dim objXML As Object
Dim txtContent As String
Dim i As Integer
Dim strCode As String
Dim gp As String
Dim kaishihang
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9, arr10, arr11
On Error Resume Next
EndRow = Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Range(Cells(startRow, 1), Cells(EndRow, 11)).Value = ""
Else
Exit Sub
End If
Set objXML = CreateObject("Microsoft.XMLHTTP")
gp = [A2]
For h = 1 To 4
For m = 1 To 4
kaishihang = [A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
With objXML
.Open "GET", "http://quotes.money.163.com/trade/lsjyj_" + gp + ".html?year=" + nian + "&season=" + ji + "", False
.Send
If objXML.Status = 200 Then
txtContent = .responsetext
arr = Split(txtContent, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Cells(i + kaishihang, 1) = Right(Left(arr1(0), 10), 10)
arr2 = Split(arr1(1), Chr(60))
Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
arr10 = Split(arr1(9), Chr(60))
Cells(i + kaishihang, 10) = Mid(arr10(0), InStr(arr10(0), ">") + 1)
arr11 = Split(arr1(10), Chr(60))
Cells(i + kaishihang, 11) = Mid(arr11(0), InStr(arr11(0), ">") + 1)
Next i
End If
End With
Next m
Next h
Set objXML = Nothing
End Sub
第三步,获取上证历史数据,并获取所有股票的历史数据。程序如下:
Sub 所有股票历史数据获取()
Application.ScreenUpdating = False
Dim s As String, gp As String, nian As String, ji As String, s1 As String
Dim arr, arr1, arr2, arr3, arr4, arr5, arr6, arr7, arr8, arr9
Dim i, h As Long
Dim kaishihang
Dim LastRow As Long, r As Long
On Error Resume Next
EndRow = Sheet2.Range("a65536").End(xlUp).Row
startRow = 4
If startRow <= EndRow Then
Sheet2.Range(Sheet2.Cells(startRow, 1), Sheet2.Cells(EndRow, 9)).Value = ""
Else
Exit Sub
End If
For h = 1 To 5
For m = 1 To 4
kaishihang = Sheet2.[A65535].End(xlUp).Row
nian = Replace(Str(Year(Now) + 1 - h), " ", "")
ji = Replace(Str(4 + 1 - m), " ", "")
s1 = "http://quotes.money.163.com/trade/lsjysj_shu_000001.html?year=" + nian + "&season=" + ji + ""
s = GetSource(s1)
arr = Split(s, "'>")
For i = 1 To UBound(arr)
arr1 = Split(arr(i), " Sheet2.Cells(i + kaishihang, 1) = Right(Left(arr1(0), 4), 4) & "-" & Right(Left(arr1(0), 6), 2) & "-" & Right(Left(arr1(0), 10), 2)
arr2 = Split(arr1(1), Chr(60))
Sheet2.Cells(i + kaishihang, 2) = Mid(arr2(0), InStr(arr2(0), ">") + 1)
arr3 = Split(arr1(2), Chr(60))
Sheet2.Cells(i + kaishihang, 3) = Mid(arr3(0), InStr(arr3(0), ">") + 1)
arr4 = Split(arr1(3), Chr(60))
Sheet2.Cells(i + kaishihang, 4) = Mid(arr4(0), InStr(arr4(0), ">") + 1)
arr5 = Split(arr1(4), Chr(60))
Sheet2.Cells(i + kaishihang, 5) = Mid(arr5(0), InStr(arr5(0), ">") + 1)
arr6 = Split(arr1(5), Chr(60))
Sheet2.Cells(i + kaishihang, 6) = Mid(arr6(0), InStr(arr6(0), ">") + 1)
arr7 = Split(arr1(6), Chr(60))
Sheet2.Cells(i + kaishihang, 7) = Mid(arr7(0), InStr(arr7(0), ">") + 1)
arr8 = Split(arr1(7), Chr(60))
Sheet2.Cells(i + kaishihang, 8) = Mid(arr8(0), InStr(arr8(0), ">") + 1)
arr9 = Split(arr1(8), Chr(60))
Sheet2.Cells(i + kaishihang, 9) = Mid(arr9(0), InStr(arr9(0), ">") + 1)
Next i
Next m
Next h
Application.ScreenUpdating = True
n = Worksheets.Count
For i = 4 To n
Worksheets(i).Activate
历史数据
Next
End Sub
第四步,保存工作簿,并对该工作簿命名为1,然后复制该工作簿27份,把所有股票代码写入每一个工作簿第一个工作表的A3到A127列。然后根据第一步对工作簿内的工作表命名,并在每一个工作表A2单元格内写入股票代码。
第五步,把这些工作簿存放到炒股文件夹下的数据库文件下。然后在炒股文件夹下新建一个工作簿,命名为“一键更新表格”,写入如下代码:
Sub 所有股票历史数据更新()
Dim wb As Workbook
For i = 1 To 27
Set wb = Workbooks.Open(ThisWorkbook.Path & "数据库" & i & "".xlsb"")
Application.Run ""'"" & wb.Path & """" & i & "".xlsb'!所有股票历史数据获取""
wb.Save
wb.Close
Next i
End sub
当启动这一段代码以后,程序会自动一个一个的打开对应的工作簿然后获取里面所有股票的历史数据,存放在对应的工作表当中。
第六步,对相应的程序添加按钮,这样,我们在启动对应程序时,只需要点一下对应的按钮就可以实现了。这样,我们通过多个工作簿就实现了获取所有股票历史数据的方法。而后面,我们只需要通过获取对应股票每一天的历史数据,我们就能够在任意一天很快速的能够拥有所有股票的历史数据了。
注意事项
1、在后续需要对这些数据进行分析,里面会加入很多计算,所以启动所有历史数据更新时,我们应该要关闭自动更新。
2、因为历史数据很大,所以这里只获取四年的数据,想要获取更多数据,可以更改程序里面 “For h = 1 To 5”的那个5即可。
3、历史数据的获取需要较长的时间,要提前做好准备。
4、如果你想要弄清楚用EXCEL建立炒股系统的整套方法,请看后续内容。"

⑹ 怎样导出股票历史价格数据

这里笔者以同花顺软件为例:
1. 首先点按电脑界面上的同花顺图标
2. 输入用户名和密码之后点按登录
3. 进入同花顺界面后点按界面左侧的自选股按钮 然后点按自选股中收藏的某个股票
4. 右键点按自选股中收藏的某支股票 在弹出的菜单中点按数据导出 然后在二级菜单中点按导出所有数据
5. 在浏览按钮下选择导出文件位置 这里选择了桌面 然后选择导出的类型为excel 然后点按下一步
6. 勾选所有需要导出的项目 然后点按下一步
7. 最后点按完成
8. 此时在桌面上可以看到导出的文件 文件名字为table 双击进入该文件
9. 打开excel文件之后选中行标2行标3 然后点按右键 然后在弹出的菜单中点按复制
10. 点按复制之后 着两行周围出现闪烁的虚线
11. 为这两行新添加的数据添加日期
12. 点按数据下的排序按钮 以名称为第一关键字 日期为第二关键字进行排序
同花顺,是一款功能非常强大的免费网上股票证券交易分析软件,投资者炒股的必备工具。
同花顺股票软件是一个提供行情显示、行情分析和行情交易的股票软件,它分为免费PC产品,付费PC产品,电脑平板产品,手机产品等适用性强的多个版本。同花顺股票软件注重各大证券机构、广大股民的需求和使用习惯,同花顺股票软件全新版免费免注册。全新版同花顺股票软件新增强大功能:自主研发的问财选股及自定义选股,问财选股是新一代自然语言选股,解析自然语言选出股票。新增通达信模式。
同花顺面向客户可为银行、证券、保险、基金、私募、高校、政府等行业提供智能化解决方案。正在拓展至生活、医疗、教育等更多领域。
2020年1月9日,胡润研究院发布《2019胡润中国500强民营企业》,同花顺以市值490亿元位列第135位。

⑺ 1、如何将财经类网上股票历年分红数据提取到EXCEL表里,并获取股票实时价格

回答此类问题的描述会被网络知道判违规。

请在“数据”选项下的“自网站”进行相应的操作,然后设置数据更新频率,即可。

⑻ 怎样用excel 实时读取 股票日线数据

定量分析的第一步,是获取数据。
获取股票历史行情数据最方便的途径,就是直接读取股票行情软件留在你电脑中的日线数据文件。
但如果不是程序员,电脑里一般不会有VB、VC之类的编程语言。
其实,大家的电脑中一般都有OFFICE。OFFICE中的EXCEL自带了一个VBA语言的编程环境。功能也很强大。
我用EXCEL里的VBA编写了一段代码,读取通达信股票行情软件的日线文件。已经测试通过。
代码如下。与爱好定量分析的朋友分享。
TypeMyType
a1AsLong'标示码
a2AsLong'日期
a3AsSingle'开盘价
a4AsSingle'最高价
a5AsSingle'最低价
a6AsSingle'收盘价
a7AsSingle'成交金额
a8AsLong'成交量
EndType
Sub按钮1_Click()
DimFile2AsInteger
DimbAsMyType
File1=FreeFile
Opensh600000.dayForBinaryAccessReadAs#File1i=1DoWhileNotEOF(File1)
Get#File1,,b
Cells(i,1)=b.a1
Cells(i,2)=b.a2
Cells(i,3)=b.a3
Cells(i,4)=b.a4
Cells(i,5)=b.a5
Cells(i,6)=b.a6

⑼ 如何查询股票历史交易记录

1、 每个公司查看股票成交记录的方式可能略有区别,但是大概的路径都是交易→普通交易→查询→历史成交。如果没有查到的话,建议投资者可以咨询所在证券公司查询方式。
2、 查询股票历史交易记录的方法很多。投资者凭有效身份证明文件、证券账户到登记结算公司柜台打印证券变更记录;也可以到开户证券公司营业部,由证券公司代理投资者向交易所查询和打印历史成交记录。当然最方便的还可以登录你的交易软件查询交割单。
3、 网上查询手机端和电脑端的查询方式都是类似的,差别不大。投资者也可以查看账户的对账单,账户对账单相当于是银行的流水一样,每一笔交易都会在上面提现,投资者可根据自己的需求查询。
4、 投资者可以通过当日成交,来查看投资者当天买卖个股的情况;通过历史成交、或者交割单,来查其最近所进行的股票买卖情况。其中当日成交和历史成交一般只能看到投资者买入个股的价位,买入时间、买入金额以及买入股数,而交割单中,除了这些之外,还能看到投资者的交易手续费用。
5、 交易记录,自交易记账当年计起至少保存5年。 如客户身份资料和交易记录涉及正在被反洗钱调查的可疑交易活动,且反洗钱调查工作在前款规定的最低保存期届满时仍未结束的,金融机构应将其保存至反洗钱调查工作结束。
6、 需要注意的是交易时间只能查询近一个月的情况,休市时间可以查询近三个月的情况,超过三个月的要上证券公司柜台查询。如果查询线上了建议投资者可以在交易时间段,携带有效身份证去营业部查询其股票交易记录,营业部工作人员会把投资者的交易记录打印出来。同时,投资者通过其交易记录,大致可以知道其盈亏情况。

⑽ 如何用VBA从WIND里取股票数据

首先 你需要有个万德的帐号,因为取得股票也是需要excel登录万德插件的

阅读全文

与vba股票历史数据获取相关的资料

热点内容
众合科技股票趋势分析 浏览:522
股票投资用什么软件 浏览:811
股票账户被尖了怎么办 浏览:166
股票分红与银行存款哪个高 浏览:606
新浪和腾讯股票数据爬虫 浏览:157
股票金融杠杆专业大牛证券 浏览:502
网秦天下科技股票 浏览:917
可口可乐股票全部走势 浏览:594
华卓科技关联股票 浏览:250
股票亏倒账户没钱了会怎样 浏览:423
国产自主软件股票 浏览:90
st云网a股票 浏览:149
股票债券投资者类型 浏览:439
国美金融科技的股票行情 浏览:402
中国制造大飞机股票代码 浏览:263
证券股票有退市的吗 浏览:30
民国浙江兴业银行股票 浏览:207
增加注册资本是利好股票会涨停吗 浏览:790
股票连续缩量周K线十字星图形 浏览:966
粤宏远a股票走势分析 浏览:408