Based on C++ 11, this project implements a quantitative trading system supporting high-frequency transactions. The system supports the following characteristics:
-
Flexibility
- Using plug-ins to support different quotations and trading interfaces, such as CTP, Femas, Dfitc and TWS in China.
- Support multiple accounts and multiple strategies. Each strategy can use multiple quotes, and can place orders for multiple accounts.
-
Easy to use
- Support both linux and windows
- C/S architecture
- Client with graphical interface
- The real-time tracing of the variables in the policy can be realized by "probe" and the display mode of the data can be customized.
- Supporting the "intervention" of the strategy, by predefining some intervention actions, to achieve a fixed operation in the transaction process.
-
Efficiency
- C++ implementation
- Asynchronous event driven
Welcome to my personal blog. There are detailed introductory manuals.
This preject is tested in following environment:
- gcc 7.2
- boost 1.68.0
- centos7
Usage:
>cmake .
>make
>make install
>export LD_LIBRARY_PATH=/opt/gcc72/lib64:$LD_LIBRARY_PATH ; /path/to/thunder-trader thunder-trader.conf.default 1
Run.SystemNumber=1 [20181021T062516.546639]
Then you can use the Monitor to connect the thunder-trader.
Software running screenshots:
The Monitor(Coming soon):
The strategy research platform(Coming soon):
You are welcome to submit questions and bug reports as Github Issues. or mail to solopointer@qq.com
Particular attention: If you encounter an
^C*** Error in `./thunder-trader': double free or corruption (!prev): 0x0000000001e32bb0 ***
like error when run thunder-trader, don't worry. This is a bug in CTPLibrary that usually appears when the process exit, but does not affect the normal operation of the program.Turn off the ctp option, or tell me how to avoid this error if you knows please.
If you like this project, give me a star ^_^
Thunder-trader is provided under the Apache-2.0 license.