Skip to content

Commit cbf7c06

Browse files
committed
Attempt to fix build badge
1 parent b50e576 commit cbf7c06

File tree

1 file changed

+59
-6
lines changed

1 file changed

+59
-6
lines changed

README.md

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,68 @@
11
# Thales
22

3-
[![Build](https://github.com/cm-jones/thales/actions/workflows/build.yaml/badge.svg)](https://github.com/cm-jones/thales/actions/workflows/build.yaml) [![codecov](https://codecov.io/gh/cm-jones/thales/branch/main/graph/badge.svg)](https://codecov.io/gh/cm-jones/thales) [![CodeFactor](https://www.codefactor.io/repository/github/cm-jones/thales/badge)](https://www.codefactor.io/repository/github/cm-jones/thales) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
3+
[![Build](https://github.com/cm-jones/thales/actions/workflows/00-build.yaml/badge.svg)](https://github.com/cm-jones/thales/actions/workflows/00-build.yaml) [![codecov](https://codecov.io/gh/cm-jones/thales/branch/main/graph/badge.svg)](https://codecov.io/gh/cm-jones/thales) [![CodeFactor](https://www.codefactor.io/repository/github/cm-jones/thales/badge)](https://www.codefactor.io/repository/github/cm-jones/thales) [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
44

55
Thales is an ultra low-latency, multi-threaded, and extensible automated trading bot designed solely for trading options contracts (not equities or any other financial instruments) via the Interactive Brokers API.
66

77
<small>_Disclaimer: Trading options involves significant risk of loss and is not suitable for all investors. Past performance is not indicative of future results. This software is for educational and informational purposes only and should not be considered investment advice._</small>
88

99
## Features
1010

11-
- **Interactive Brokers Integration**: Connect to Interactive Brokers API for real-time market data and order execution
11+
- **IB Integration**: Connect to Interactive Brokers API for real-time market data and order execution
1212
- **Black-Scholes Model**: Accurate options pricing and Greeks calculation
1313
- **Multiple Trading Strategies**: Implement and test various options trading strategies
1414
- **Risk Management**: Sophisticated risk controls to protect your capital
1515
- **Backtesting**: Test strategies against historical data
1616
- **PostgreSQL Database Logging**: Log trade executions to a PostgreSQL database for analysis and reporting
1717
- **Extensible Architecture**: Easily add new strategies and components
1818

19+
## Development Environment
20+
21+
### Using Dev Container (Recommended)
22+
23+
The project includes a dev container configuration that provides a standardized development environment with all required dependencies pre-installed. This is the recommended way to develop for Thales.
24+
25+
#### Prerequisites
26+
27+
- [Docker](https://www.docker.com/get-started)
28+
- [Visual Studio Code](https://code.visualstudio.com/)
29+
- [VS Code Remote - Containers extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-containers)
30+
31+
#### Getting Started with Dev Container
32+
33+
1. Clone the repository:
34+
35+
```bash
36+
git clone https://github.com/cm-jones/thales.git
37+
cd thales
38+
```
39+
40+
2. Open the project in VS Code:
41+
42+
```bash
43+
code .
44+
```
45+
46+
3. When prompted "Reopen in Container", click "Reopen in Container". Alternatively:
47+
48+
- Press F1
49+
- Type "Reopen in Container"
50+
- Select "Remote-Containers: Reopen in Container"
51+
52+
4. Wait for the container to build. This will:
53+
- Set up a complete development environment
54+
- Install all required dependencies
55+
- Configure build tools and extensions
56+
- Set up debugging support
57+
58+
The dev container provides:
59+
60+
- All required build tools and libraries
61+
- Consistent compiler version and flags
62+
- Pre-configured development environment
63+
- Debug configurations
64+
- Code formatting and linting tools
65+
1966
## Requirements
2067

2168
- An Interactive Brokers account and TWS or IB Gateway
@@ -26,9 +73,17 @@ Thales is an ultra low-latency, multi-threaded, and extensible automated trading
2673
- (Optional) PostgreSQL 10+ (for database logging)
2774
- (Optional) libpqxx (for PostgreSQL connectivity)
2875

76+
All of these requirements are automatically handled if you use the recommended dev container setup above.
77+
78+
### Manual Setup
79+
80+
If you prefer not to use the dev container, you'll need to install all the requirements listed above manually. Instructions for installing each dependency can be found in their respective documentation.
81+
2982
## Build
3083

31-
### Linux
84+
> **Note:** The following build instructions are provided for reference. We strongly recommend using the dev container setup described above for the best development experience, as it provides a pre-configured environment with all dependencies and proper tooling.
85+
86+
### Manual Build on Linux
3287

3388
```bash
3489
# Clone the repository
@@ -123,7 +178,7 @@ Example:
123178
// include/thales/strategies/my_strategy.h
124179
#pragma once
125180

126-
#include "thales/strategies/strategy_base.h>
181+
#include "thales/strategies/strategy_base.hpp"
127182

128183
namespace thales {
129184
namespace strategies {
@@ -146,8 +201,6 @@ private:
146201

147202
} // namespace strategies
148203
} // namespace thales
149-
150-
#endif // THALES_STRATEGIES_MY_STRATEGY_H
151204
```
152205
153206
## Performance Benchmarks

0 commit comments

Comments
 (0)