Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Chandlercjy/OnePy
Python Backtesting library for OnePiece in trading.
https://github.com/Chandlercjy/OnePy
Last synced: 14 days ago
JSON representation
Python Backtesting library for OnePiece in trading.
- Host: GitHub
- URL: https://github.com/Chandlercjy/OnePy
- Owner: Chandlercjy
- License: mit
- Created: 2017-07-04T03:51:56.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2019-12-10T11:07:57.000Z (almost 5 years ago)
- Last Synced: 2024-10-02T02:25:49.412Z (about 1 month ago)
- Language: Python
- Homepage: https://zhuanlan.zhihu.com/onepy
- Size: 16.4 MB
- Stars: 305
- Watchers: 41
- Forks: 124
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGE_LOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Onepy 2.51
Onepy is an event-driven algorithmic trading Python library.
更新日志:[Change Log](CHANGE_LOG.md)
荒废的C++版:[OnePyPlus](https://github.com/Chandlercjy/OnePyPlus)
## Install
Onepy is developed using Anaconda Python 3.6.x.
```{python}
pip install plotly
pip install funcy
pip install arrow
pip install pymongo
pip install retry
pip install TA-Lib
pip install dataclasses # python 3.7不用安装
```将该项目解压后,参照[这里](https://www.jianshu.com/p/cb6447e1cf88)将OnePy项目文件夹添加到Python搜索目录
## Getting Started
- **Tutorial Series**
- [Tutorial-1-Introduction](./examples/Tutorial-1-Introduction.ipynb)
- [Tutorial-2-Strategy-and-Cleaner](./examples/Tutorial-2-Strategy-and-Cleaner.ipynb)
- [Tutorial-3-Parameters-Optimization](./examples/Tutorial-3-Parameters-Optimization.ipynb)
- [Tutorial-4-Forward-Analysis](./examples/Tutorial-4-Fordward-Analysis.ipynb)
- [Tutorial-5-Multi-Strategies](./examples/Tutorial-5-Multi-Strategies.ipynb)
- [Tutorial-6-Forex-Backtesting](./examples/Tutorial-6-Forex-Backtesting.ipynb)
- [Tutorial-7-Oanda-Live-Trading](./examples/Tutorial-7-Onada-Live-Trading.ipynb)- 知乎专栏:[OnePy](https://zhuanlan.zhihu.com/onepy)
- [OnePy--构建属于自己的量化回测框架](https://zhuanlan.zhihu.com/p/27730907)
- [OnePy 1.x--量化回测框架初探](https://zhuanlan.zhihu.com/p/28085149)
- [OnePy 1.x--量化回测框架计算问题反省](https://zhuanlan.zhihu.com/p/28333715)
- [近况与OnePy 2.00初探](https://zhuanlan.zhihu.com/p/35623695)
- [OnePy 2.00--整体脉络解读](https://zhuanlan.zhihu.com/p/35860348)
- [OnePy 2.1 -- 添加单元测试](https://zhuanlan.zhihu.com/p/36707021)
- [从Python到C++,对量化回测的一点思考](https://zhuanlan.zhihu.com/p/41108459)
- [OnePy 2.5--自省](https://zhuanlan.zhihu.com/p/49385769)## Main Features
#### OnePy 综合方面:
* 事件驱动回测设计 ✓
* 股票、外汇回测 ✓
* 多品种回测 ✓
* 多策略回测 ✓
* 设置手续费, 保证金/手, 杠杆大小 ✓
* 设置成交价格为 close 或者第二天 open ✓
* 设置是否打印交易日志 ✓
* Plot 画图模块 ✓
* 多进程参数优化 ✓
* 多进程Fordward analysis ✓#### Tools 工具方面:
* To_MongoDB:自定义数据统一格式后存入数据库 ✓
* To_MongoDB:tushare 股票数据 CSV 存入数据库 ✓
* Tushare API 数据多线程存入 MongoDB ✓
* Oanda API 数据导入MongoDB ✓#### DataHandler 数据方面:
* CSV 数据读取 ✓
* MongoDB 数据读取 ✓#### Strategy 策略方面:
* 做多 buy & sell, 做空 sell & cover 指令 ✓
* 撤单 cancel_pennding, cancel_tst 指令 ✓
* 按百分比或盈亏多少钱, 设置止盈 Limit、止损 Stop 和 Trailingstop 移动止损 ✓
* 按百分比或者指定价格, 建立挂单。 ✓
* 技术指标 Cleaner 模块 ✓
* 整合 Talib 模块 ✓#### Broker 执行方面:
* 模拟发送指令 ✓
* 模拟检查指令是否发送成功 ✓
* 打印交易日志 ✓
* 手续费 commission, 百分比类型和固定类型 ✓#### Recorder 日志方面:
* 计算保证金, 仓位, 浮动利润, 已平仓利润, 总资金, 剩余现金, 收益率, 市值, 时间序列化 ✓
* 输出交易记录, 包括出场时间, 入场时间, 盈亏点数, 盈亏利润等 ✓
* 详细盘后交易结果分析 ✓#### 延展性方面:
* 在 Environment 中存有原始所有信号信息, 生成的订单信息, 便于分析 ✓
* 自定义扩展事件源 ✓
* 自定义数据源, 返回迭代器给 OnePy 即可 ✓
* 自定义策略模块 ✓
* 自定义技术指标模块 ✓
* 自定义风控模块 ✓
* 自定义经纪商模块 ✓
* 自定义日志记录模块 ✓## Quick Look
![Plot](./docs/Summary-Plot.png)
![Plot](./docs/Trade-Analysis.png)
![Plot](./docs/Matplotlib-Plot.png)## Road Map
![执行过程](docs/OnePy_执行过程.png)
## Contact
I'm very interested in your experience with **Onepy**.Please feel free to
contact me via **[email protected]****Chandler_Chan**