前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >.NET也能玩量化【2】搭建本地财经数据获取服务,以及获取复权历史大A数据演示

.NET也能玩量化【2】搭建本地财经数据获取服务,以及获取复权历史大A数据演示

作者头像
Wesky
发布2024-08-13 19:24:11
1010
发布2024-08-13 19:24:11
举报
文章被收录于专栏:Dotnet Dancer

直接动手,不写前言了。

创建.NET 8的一个webapi项目备用

本地安装python库 aktools

输安装完毕以后,输入 python -m aktools 即可启动有关服务

启动以后,主页地址:http://127.0.0.1:8080/

查看swwager的api文档说明。我们主要使用公开访问的方式来访问skshare的接口数据,因为咱是本地化交易的,不搞那么复杂,能获取数据就行。如果你需要部署成大型服务,提供其他定制开发,你可以自行去参考aktools的官方源码,源码是MIT开源协议,你可以自己定制出其他权限配置或者其他骚操作来使用。

具体接口参数,可以参考akshare的文档说明。我在本测试的开源项目上页提供了附录说明,感兴趣可以文末获取开源地址:

接下来,我使用上面创建的.NET 程序来做个简单的测试使用

咱们先测试下能不能获取到数据先。在http文件内,新建一个api地址测试数据,例如前面提到的swagger文档里面的地址:本地IP:8080/api/public

然后新建一个请求测试,例如获取大A的所有股票代码和名字:stock_info_a_code_name

点击上面的“发送请求”,可以看到获取到了所有A的基础信息

根据以上信息,我们可以创建一个基础实体类,代码和名字字段。

新建一个服务类,例如叫 QuantDataService 量化数据服务

注册HttpClient请求和上面服务的注册

本地新建一个控制器,用来触发请求测试使用,并提供一个Get请求操作,用于通过我们自带的swagger来触发获取所有大A的代码和名字

可以看见获取所有大A数据,一共五千多条,大概耗时122毫秒。

接下来演示下,获取历史数据。历史数据通过以上接口清单可以选择 stock_zh_a_hist

先拓展一个Post表单请求方法

上面请求方法可能不一定适用,当做备选。财经数据我们基本上都是通过GET请求来。再继续拓展一个Get请求的带表单参数的方法

新增控制器内的方法,用来获取历史数据,例如获取300532股票的2024年开始到现在2024-06-23(23是周日,最新应该获取到06-21)。复权可选,此处我使用前复权

运行,可以看见获取到历史数据的json数据集合

根据返回的Json数据,我们开发一个对应的实体类

把字符串转集合对象,可以看见具体的内容了。就可以通过对象来进行一些操作。

如果需要我以上测试的项目开源地址,可以在我个人公众号【Dotnet Dancer】内回复 “量化开源” 即可获取到开源项目URL地址。该项目会长期持续更新。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Dotnet Dancer 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
腾讯云服务器利旧
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档