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

news2024/12/30 3:07:09

直接动手,不写前言了。

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

f6c6c8f03b8a31e7c1e54d64434e9310.png

本地安装python库 aktools

a23ecd2911ab4939e57ef1e0b12b3192.png

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

3f5e18b9560ba108fb31f4ed83171268.png

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

3f3b62fe17b943aff22ef91080e37742.png

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

88cfd26dbbc2ab20f374595b1458aab7.png

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

e44345233938f50145f0c6202afad84c.png

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

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

e33ed5285c25d896041392cdd599a3d4.png

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

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

68ae85200e26bbf14a25a00089c4a050.png

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

7c90732003923a1ba1b04d214f02bdd5.png

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

6ce029099e79ce2ada6f9067ff3def1d.png

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

4de50258a9f123e477f6a2ff297ce3ad.png

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

3ef712dc7fd9d4776c3f9b3b613dba4c.png

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

2f0b39241cbe9d74aa5dd9f03b87c229.png

2fae2ed64b940ca837c5556bf9f7b33c.png

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

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

48d56d26304286ee22768a95b31d87c2.png

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

ba251002421956a597d28fa922529e94.png

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

b87144d5ec0cf979b9dfef670d3df2d0.png

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

85a02365768da0502b687ddbbbd187ad.png

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

d1dba991a87291025a4180e401ba80af.png

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

58021f6bcb15d3c1f20a524a5dbb6eb7.png

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1857664.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity面试题 UGUI调整UI与粒子特效的显示层级

首先,必须保证Canvas画布的渲染模式为了相机渲染 方法:一:将需要控制UI显示层级的Image换成Sprite 1.创建一个粒子系统,和两张Sprite. 2.设置Sprite1的Order in Layer为 -1,设置Sprite2的Order in Layer为 1,粒子的Ord…

ANSYS Electronics 电磁场仿真工具下载安装,ANSYS Electronics强大的功能和灵活性

ANSYS Electronics无疑是一款在电磁场仿真领域表现卓越的软件工具。它凭借强大的功能和灵活性,帮助用户在产品设计阶段就能精确预测和优化电磁场性能,从而极大地降低了实际测试成本,并显著提升了产品的可靠性。 这款软件不仅在电子设计领域有…

【专利】一种光伏产品缺陷检测AI深度学习算法

申请号CN202410053849.9公开号(公开)CN118037635A申请日2024.01.12申请人(公开)超音速人工智能科技股份有限公司发明人(公开)张俊峰(总); 叶长春(总); 廖绍伟 摘要 本发明公开一种光伏产品缺陷检测AI深度…

破解App推广困局:Xinstall如何助力游戏盒子代理快速扩大用户池?

在互联网流量日益分散的今天,游戏盒子代理推广面临着前所未有的挑战。如何迅速搭建起能时刻满足用户需求的运营体系,成为了众多企业急待解决的问题。Xinstall作为一款专业的App推广和运营工具,凭借其强大的功能和独特优势,为游戏盒…

ONLYOFFICE 编辑器8.1,一个功能全面的编辑器

目录 官网地址:ONLYOFFICE - 企业在线办公应用软件 | ONLYOFFICE 一、PDF编辑 二、PPT播放 1. 多样化的幻灯片样式与布局 2. 强大的文本编辑与格式化功能 3. 丰富的图形与图表插入功能 4. 灵活的过渡效果与动画设置 5. 舒适的呈现与演讲辅助功能 6. 便捷的团…

Java--Data类

1.Data类 java.util.Date.表示指定的时间信息,不支持国际化 构造方法 new Date():当前系统日期和时间 new Date(long):给定日期和时间 主要方法: after(Date):判断当前日期对象是否在给定日期对象之后 before(Date):判断当前日期…

关于文章“python+百度语音识别+星火大模型+讯飞语音合成的语音助手”报错的修改

前言 关于我的文章:python百度语音识别星火大模型讯飞语音合成的语音助手,运行不起来的问题 文章地址: https://blog.csdn.net/Phillip_xian/article/details/138195725?spm1001.2014.3001.5501 1.报错问题 如果运行中报错,且…

Banded Grid Views

标注栏网格视图(BandedGridView)以表格形式显示数据,并将列组织到标注栏中。 Advanced Banded View(AdvBandedGridView)也有同样的功能,并额外支持数据单元格的复杂布局。 标注栏和列 BandedGridView和…

fyne的对话框

对话框 import "fyne.io/fyne/v2/dialog"dialog包 定义了应用程序GUI的标准对话框窗口。 NewError NewError()为应用程序错误在指定的窗口上创建一个对话框。该消息是从提供的错误中提取的(不应为nil)。创建后,您应该调用Show()…

pdf压缩大小,PDF压缩大小不影响清晰度

你是否曾为PDF文件过大而烦恼?想要分享或上传文件时,却因为它的体积而束手无策?别担心,今天我将为大家分享一些简单实用的 PDF 压缩技巧,让你的文件轻松压缩pdf。 打开“轻云处理pdf官网”, 的网站。然后上…

智慧校园-科研管理系统总体概述

在当前教育与科研深度融合的大潮中,智慧校园科研管理系统脱颖而出,它巧妙地融合了现代科技的力量,诸如云计算、大数据分析及人工智能技术,旨在为高等学府与科研机构打造一个高效运转、透明公开、促进协作的科研管理新生态。这一系…

LabVIEW操作系列

目的:初学LabVIEW,做记录 文章目录 前言一、LabVIEW操作界面1.1 新建vi1.2 控件1.3 加法案例 二、编程特点2.1 特点2.2 实现按顺序执行 三、程序结构3.1 平铺式顺序结构3.2 循环结构3.2.1 For循环3.2.2 While循环3.2.3 中途停止For循环3.2.4 中途停止Whi…

2023年零信任落地关键词:整合、身份、普及

2023年,全球企业纷纷加快了落地零信任的步伐。虽然落地的功能、落地的场景不尽相同,但企业对零信任的诉求、落地零信任的优先级却殊途同归,不同的零信任产品的应用场景也日益明晰。 全面整合和协同运行,是2023年企业用户对零信任…

同城跑腿小程序的崛起与用户体验革新

随着移动互联网的飞速发展,人们的生活方式正在发生深刻的变化。在这个快节奏的时代,时间成为了最宝贵的资源。在这样的背景下,同城跑腿小程序应运而生,以其高效、便捷的服务特性,迅速赢得了广大用户的青睐。本文将探讨…

仓库管理系统05--实现登录

1、创建登录的视图模型viewmodel 2、容器注册viewmodel 3、使用视图模型 4、登录命令 5、运行效果 原创不易,打字不易,截图不易,多多点赞,送人玫瑰,留有余香,财务自由明日实现。

怎么将图片压缩调小?在线压缩图片的4种快捷方法

压缩图片是日常很常用的一个图片处理功能,现在拍摄和制作的图片都比较大,在使用时经常会受到影响。在遇到无法上传、传输过慢的问题时会降低工作效率,所以掌握一招快速压缩图片是非常重要的。通过下面这篇文章来给大家介绍一下在线图片压缩的…

研二自学嵌入式开发,就业导向,学习路线该如何规划?

研二才来问这个问题,有点晚,离你开始找工作还有大概8~9个月,你应该用应试思维来应对找工作这个事,尤其当前这个经济形势下。 刚好我有一些资料,是我根据网友给的问题精心整理了一份「嵌入式的资料从专业入…

鸣潮基于虚幻引擎4的多平台效果和性能优化实践

《鸣潮》基于虚幻引擎4的多平台效果和性能优化实践 | 王宏波 库洛游戏 文章目录 《鸣潮》基于虚幻引擎4的多平台效果和性能优化实践 | 王宏波 库洛游戏Why Deferred Shading移动端高质量的TAAU渲染流程Ghost和Flicker优化,一些图像空间算法的融入动静态像素的差异处…

复习2-20240624

vscode 使用 Javabean (封装性) public class Demo01 {/*1.原则 : 字母 数字 $ _ 中文 除了 这五个 其它都不可以2. 细则 : 数字 不能 开头%hbviunh &hfiureh )nhjrn 7487j -ni hbiu tgf hi…

数据结构-顺序表的插入排序

顺序表的排序可以看作数组排序的拓展。基本逻辑和数组排序的逻辑大同小异。 由于顺序表中可以存放不同种的数据类型,进而和结构体排序又有相似之处。其中要注意的是(->)和(.)的区别。 -> 符号是针对指针进行的操…