# StockTradTest **Repository Path**: quantification_7_1/stock-trad-test ## Basic Information - **Project Name**: StockTradTest - **Description**: 个人使用的股票程序化交易测试系统,目前仅适用于A股,实现了数据采集,清洗,复权,以及基本的历史交易模拟测试,实时模拟交易(可支持微信消息发送交易信息,需手动完成交易)。目前更新暂停中,待有时间再更新,有bug请联系。 软件完全免费,请勿上当受骗。抄袭和盗版并上传盈利可耻,望好自为之。 - **Primary Language**: C# - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2024-08-27 - **Last Updated**: 2024-10-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 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,简化策略逻辑便于后期实现实时与回测策略写法完全统一。