3 Star 14 Fork 9

子木君 / StockTradTest

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
readme.md 6.21 KB
一键复制 编辑 原始数据 按行查看 历史
子木君 提交于 2022-05-16 13:35 . update readme.md.

StockTradTest

特别说明

麻烦各位把WxPusher.cs对应的appToken改下哈,不要天天给我推送信息了,详细说明代码里面都有,麻烦改下不要直接用 :joy: 需要自己修改的地方,一个是策略,一个就是WxPusher,软件架构很简单,最好自己简单阅读下的代码,了解总体结构。

介绍

个人股票交易测试系统,支持国内股票数据获取及存储,已实现一个基本策略demo。

写这个软件的初衷是希望在足够低的成本(简单来说就是一毛钱不花 :joy: )下实现股票实时测试系统的部署。

最开始时使用tushare和Python实现了基本策略,因个人水平有限,程序执行效率低和框架搭建以及部署麻烦,内部不透明劝退。

目前策略的调试可以在个人电脑上实现,本地调试无误后可以选择直接部署在服务器端,通过微信接收程序推送的实时交易消息。 目前服务器端价格非常便宜,个人推荐购买一台,比本地部署稳定很多。

此前通过Xamarin支持安卓程序,但存在后台保活问题,目前已删除。

考虑替换SQLite为HDF5。

有更新建议及bug,请联系。个人微信:liyutx。邮箱:343606476@qq.com

软件架构

Visual Studio 2019下C#编写,目前仅支持Windows平台。

数据库采用SQLite。

股票原始数据采用搜狐数据,复权数据采用新浪数据,原始数据前复权后存储。

图形界面采用WinForm + Sharpdx。

文件结构

StockTradTest---核心功能文件目录

/Data---基础信息采集及存储

    /CalcIndicator.cs---指标计算(暂时只包含Ma,多了意义也不大)

    /GetIndexHistory.cs---获取指数历史信息。(搜狐股票数据接口)

    /GetInvestor.cs---获取投资者信息(中国结算网页数据,存在数据滞后)

    /GetRealTimeInfo.cs---获取股票实时信息。(新浪实时数据接口)

    /GetStockHistory.cs---获取股票历史信息。(搜狐股票数据接口+新浪复权数据接口)

    /GetStockInfo.cs---获取股票索引信息。  (上指和深指官方网站数据,分别为CSV格式和Xlsx格式)

    /Index.cs---基础类:指数股票数据库表结构,指数列表

    /IndexDatabase.cs---指数数据库操作

    /Stock.cs---基础类:股票列表库表结构,股票数据库表结构,复权信息结构,实时股票数据结构

    /StockDatabase.cs---股票数据库操作

    /StockInfoDataBase.cs---股票索引库操作

    /StockInfoDataBase.cs---股票索引库操作

    /Indicator.cs---指标数据库结构

    /IndicatorDataBase.cs---指标库操作实现

    /Investor.cs---投资者数据库结构

    /InvestorDataBase.cs---投资者库操作实现

    /MyAccount.cs---账户信息库,个人股票信息库

    /MyAccountDatabase.cs---账户信息库及个人股票信息库操作

/Funciton---基础功能实现

    /Base.cs---数据库索引

    /Funciton.cs---节假日判断,个股信息更新,股票索引更新

    /TextRecord.cs---记录类

    /TradBase.cs---虚拟交易功能实现

    /WxPusher.cs---微信信息发送功能实现(更多使用信息请关注WXPusher公众号,该功能需自行配置,相应参数需自行修改,切勿直接使用)

/strategy

    /strategy.cs---自身策略编写

    /strategy2.cs---自身策略编写

Test--控制台下的实时测试系统目录

/Program.cs---Test程序文件

TestGraphic--综合回测系统目录

所使用的Nuget包

  1. System.Text.Encoding.CodePages---GB2312支持
  2. sqlite-net-pcl---sqlite数据库支持
  3. NPOI---Office xlsx格式解析支持
  4. Newtonsoft.Json---为Json解析提供支持
  5. Microsoft.Bcl.AsyncInterfaces---程序中提供一些新特性的语法支持
  6. System.Security.Cryptography.Xml---NOPI支持库
  7. SharpDx等---C#下D2D图形绘制支持

安装教程

下载后即可在Visual Studio 2019下使用,其他版本请自行修改。 如缺少相应的包请自行NuGet。

使用说明

StockTradTest / strategy路径下MyStrategy.cs文件用于自身策略编写

Test分支项目为Windows系统下控制台实时测试系统,可部署于个人电脑或者云服务器,通过微信消息推送给手机发送信息。

TestGraphic分支项目为Windows系统下图形测试系统(回测)

安装于个人随时智能机时可选微信弹出通知提醒(默认),云主机可通过微信消息推送提醒(开启云主机模式)。

更新日志

2022.05.16修改图形界面生成方式,改用D2D绘制方式以提高效率,修改图形界面逻辑,增加多线程模式以提高测试效率,修复少量bug。

2020.04.01修改策略。

2020.02.24修复部分bug,完善控制台程序综合功能。

2020.02.23优化界面显示效果,购买了一台云服务器以便于实时测试。

2020.02.22新增指数信息查询,新增投资者信息查询,修改交易策略成交价格,更接近实际。

2020.01.29 新增成交量及成交额显示,调整信息框位置,下一步计划修改买卖价格以更贴近实际。计划新增指数查询功能,新增新开户韭菜指数功能以进行对比。

2020.01.25 修改策略。

2020.01.21 新增股票买卖点显示,便于观察策略执行情况,新增多股票交易用函数。

2020.01.21 新增股票数据查看图形界面,便于观察策略执行细节。新增多股票交易策略(未完成),修复数据计算bug。

2020.01.08 修改了数据库结构,实现分库功能以提升速度。

2020.01.04 新增获取大盘所有股票数据功能。

2020.12.30 修复了新浪和搜狐数据获取中因数据紊乱产生的bug,增加了数据清洗功能。

2020.12.18 修改安卓系统退出设置,使返回键不会退出程序,避免误操作关闭。同时安卓系统中需注意设置中程序的后台管理,避免程序被自动关闭。

2020.12.5 更新了安卓系统提醒方式,修改了策略执行方式,实现安卓系统与windows系统下的逻辑统一。

2020.12.1 修复了微信推送功能bug,简化策略逻辑便于后期实现实时与回测策略写法完全统一。

C#
1
https://gitee.com/liitee/stock-trad-test.git
git@gitee.com:liitee/stock-trad-test.git
liitee
stock-trad-test
StockTradTest
master

搜索帮助