# 若是我 **Repository Path**: xiaopengshijie/ifisme ## Basic Information - **Project Name**: 若是我 - **Description**: 本地量化策略测试平台 边学边摸索 一点一点试着来 刚开始需要朋友们多支持、多帮助 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: https://gitee.com/xiaopengshijie/ifisme - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-03-17 - **Last Updated**: 2021-12-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Ifisme 若是我 (暂定名,正式名还没想好) #### 介绍 ^_^ ###### **本地量化策略测试平台** ###### 刚开始只是一个想法,现在也只是边摸索编写。 1. 其实很简单,就是想做一个数据在本地、策略在本地的平台, 2. 同时能像聚宽那样,把自己想的思路可以写出来,然后测试看效果,给出操作记录,回测成绩。 3. 当然以后可以再加上策略测评、改进建议等等(这都是后话) ###### 况且我连git还不会用呢 ###### 首先用A股数据把功能跑通,然后再逐步扩展到期货、债券等其他领域。 #### 思路 ##### 准备分为几步来实现 1. 数据获取 (将tushare数据取过来,存放到mysql、oracle数据库,对数据进行清理、派生) 1. 1.还没确定,是在服务器下载数据,进行核对清理后提供下载,还是由各客户端分别下载分别核对 2. 数据获取 (从其他数据源取数据,对已有的数据进行核对、校验,有问题进行判别更正;对没有的数据进行补充、完善。) 3. 选股策略 (实现可以通过策略在指定时间发出买卖指令,按指标返回指定时间的买卖清单、价位信息。) 4. 回测策略 (可以对简单策略进行回测,返回一定条件、时间条件下的回测结果,返回统计信息数据、交易记录等) 5. 回测策略 (对回测信息进行图形化,返回策略在回测期间按指令操作的走势图等信息) 6. 完善 (增加判别指标、数据,细化操作,增加界面信息,提高准确率 ) 7. 完善 (完善代码、效率,进行优化。) 8. 完善 (代码规范化、增补注释、引入开发者共同完善。) 9. 完善 (安装文档、操作文档、开发文档) 10. 扩展功能 (根据使用情况增加扩展功能、或提供功能接口由用户扩展开发,作为插件功能) ##### 现在在做什么 1. 考虑用什么数据库,为以后使用的人搭建起来方便,想出oracle和mysql两个。 1. 1.先用oracle做,因为我相对熟悉; 1. 2.先用mysql做,配环境容易些,用的人多,推广容易; 2. 考虑开发环境,以后参与代码开发修改的朋友方便交流,还要以后使用的人搭建时候容易。 2. 1.边装系统,边做笔记,整理成安装文档 #### 软件架构 软件架构说明 #### 思路 1. 读取数据 2. 数据库结构,存入数据库 3. 调用本地数据库 4. 本地策略回测 #### 突出的是一个本地,数据和策略都在本地。 #### 步骤设想 1. 先实现从tushare取数据,存入本地mysql/oracle数据库 2. 在本地数据库基础数据的上增加派生表和派生数据,作为分析指标的基础数据 3. 增加常用分析指标、函数、公式 4. 实现图像化,用于回测、数据查询、指标分析 5. 根据实际使用增、改功能 #### 环境选择 1. centos8-x64 8.3 2. anaconda 用于配开发环境和运行所需的各种包,后期可以收集好所有包的单子,就可以少装一个。 3. python 用版本3,目前最新的为3.9.4,以后的策略也使用python3,以方便大家交流。 4. mysql/oracle mysql最新为8,支持nosql,速度是版本5的2倍,应该可以承担。 5. 分析图表展示、图形界面(现在还没定,等做到这块再选) 6. spyder5.0 7. #### 数据库 数据库设计 #### 参与贡献 ##### 希望有更多的朋友参与进来,一起打造我们自己用的回测平台 ###### 欢迎大家提出意见、需求。也希望大家能提供代码修改、完善的意见。 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request ## 希望朋友们看看能忙,写代码、提需求、提意见、测试、推广都可以。