https://github.com/jkotra/algoticks
Algoticks is an algorithmic trading simulator written in C.
https://github.com/jkotra/algoticks
algorithms algotrading c simulation simulator trading
Last synced: 5 months ago
JSON representation
Algoticks is an algorithmic trading simulator written in C.
- Host: GitHub
- URL: https://github.com/jkotra/algoticks
- Owner: jkotra
- License: apache-2.0
- Created: 2020-06-12T15:26:24.000Z (almost 5 years ago)
- Default Branch: master
- Last Pushed: 2022-04-26T09:52:37.000Z (about 3 years ago)
- Last Synced: 2024-08-05T20:29:42.134Z (9 months ago)
- Topics: algorithms, algotrading, c, simulation, simulator, trading
- Language: C
- Homepage:
- Size: 951 KB
- Stars: 16
- Watchers: 4
- Forks: 7
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Algoticks
[](https://opensource.org/licenses/Apache-2.0) [](https://travis-ci.org/jkotra/algoticks)
---
Algoticks is an algorithmic trading simulator written in C.[READ: Getting started with Algoticks](https://stdin.top/posts/getting-started-with-algoticks/)
[READ: Writing an Algorithm for Algoticks](https://stdin.top/posts/write-algo-for-algoticks/)
---
## Building
### Optimizations
Some optimizations are disabled by default to improve speed and efficiency.
```
#uncomment below line to enable Optimizations
#set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DCHOMP -DQUOTED_CHECK -DCHECK_ROW_INTEGRITY")
```### Release
Recommended Compiler: `GCC`
Recommended Standard: `C11`
Dependencies:
- [`JSON-C`](https://github.com/json-c/json-c)
- [`ZeroMQ`](https://github.com/zeromq/libzmq)
- [`libuv`](https://github.com/libuv/libuv)```
mkdir bin
cd bin
cmake ..
make
```upon successful compilation, the binary executable along with config files are found in `release` (`bin/release`) folder.
### Debug
```
mkdir bin
cd bin
cmake -DCMAKE_BUILD_TYPE=Debug ..
make
```upon successful compilation, the binary executable along with config files are found in `debug` (`bin/debug`) folder.
---
### Building on Windows (experimental)
1. Install [MSYS2](https://www.msys2.org/)
2. Install [CMake for Windows.](https://cmake.org/download/)
2. Add the following to System PATH:
```
C:\msys64\mingw64\include
C:\msys64\mingw64\bin
C:\msys64\mingw64\lib
C:\msys64\usr\bin
```Run the following commands in `mingw64.exe` terminal:
```
pacman -S base-devel mingw-w64-x86_64-gcc mingw-w64-x86_64-gdb mingw-w64-x86_64-json-c mingw-w64-x86_64-zeromq mingw-w64-x86_64-libuv
```Run the following commands from repository root directory:
```
mkdir bin
cd bin
cmake -G "MinGW Makefiles" ..
mingw32-make.exe
```---
## Usage
```
Usage: algoticks [OPTION...]
Algoticks - algorithmic trading simulator.-b, --benchmark Benchmark mode
-B, --benchmarkfile=FILE Benchmark file.
-C, --configfile=FILE Config file.
-d, --derivative Derivative mode
-D, --debug=LEVEL Debug mode.
-l, --live Live mode. Wait for date at EOF
-s, --socket=PORT Open socket to receive data at EOF
-S, --settingsfile=FILE settings file.
-?, --help Give this help list
--usage Give a short usage message
-V, --version Print program versionMandatory or optional arguments to long options are also mandatory or optional
for any corresponding short options.Report bugs to .
```
### Timeline
Start of development: 13-Jun-2020
Repository made public: 02-Jul-2020
---
### Credits
Icons made by Eucalyp from www.flaticon.com