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

直接动手,不写前言了。

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

5d3e8618232daac737f1bc0b85293098.png

本地安装python库 aktools

b20ba2a099b875fb4d8964a9fb3c4c98.png

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

918afb091f58ba9967b3669054518cd5.png

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

1b8010ab3922951e6572e9258ead4f6c.png

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

58be1ad7ed808e3557ad07b44c6d8b44.png

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

61e45f4821cc678c082cda5077cdcccc.png

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

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

435c9a6ee55f106ae3ce1689ee81f1b5.png

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

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

90799782880150111992a10ef86a01d8.png

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

c3ce14a3adad41c02dc4ced80ac0e8ce.png

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

c2a61c982361a7e6d3d2d53e6f25d761.png

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

76218f542b7feee5de9b6bfa0f13858a.png

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

5a878ab63383b5f6567e1d4582f6e291.png

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

69f5ca12d8f9af202070c54c2ba9e64a.png

f301d5ed8c9ff5c1de4f6fa6ba426f30.png

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

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

a14396ce0ce680f6f4c056d7d24227f9.png

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

ef704a4a173497cf33021a65dd0490c0.png

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

08fcfa1552eb95769a45e4b7465aeafe.png

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

4c2a01a619c823258f0983e82e78262e.png

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

b0e196c4e72c839dbef495fd7a3200dc.png

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

9a729c9be2ea679305764a39aa83cb77.png

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值