Professional-grade SDK for algorithmic trading on prediction markets (Beta - Core features stable, advanced modules experimental)
Project description
Neural SDK
Professional-grade SDK for algorithmic trading on prediction markets.
Documentation • Examples • Contributing
Overview
Neural SDK is a Python framework for building algorithmic trading strategies on prediction markets. It provides data collection, strategy development, backtesting, and trade execution with production-grade reliability.
All market data comes from Kalshi's live production API via RSA-authenticated requests, using the same infrastructure that powers their trading platform.
Features
- Authentication: RSA signature implementation for Kalshi API
- Historical Data: Collect and analyze real trade data with cursor-based pagination
- Real-time Streaming: REST API and FIX protocol support for live market data
- Strategy Framework: Pre-built strategies (mean reversion, momentum, arbitrage)
- Risk Management: Kelly Criterion, position sizing, stop-loss automation
- Backtesting Engine: Test strategies on historical data before going live
- Order Execution: Ultra-low latency FIX protocol integration (5-10ms)
Quick Start
Installation
pip install neural-sdk
pip install "neural-sdk[trading]" # with trading extras
Credentials Setup
Create a .env file with your Kalshi credentials:
KALSHI_API_KEY_ID=your_api_key_id
KALSHI_PRIVATE_KEY_BASE64=base64_encoded_private_key
KALSHI_ENV=prod
The SDK automatically loads credentials from the .env file.
Usage
Authentication
from neural.auth.http_client import KalshiHTTPClient
client = KalshiHTTPClient()
markets = client.get('/markets')
print(f"Connected! Found {len(markets['markets'])} markets")
Historical Data Collection
from neural.data_collection.kalshi_historical import KalshiHistoricalDataSource
from neural.data_collection.base import DataSourceConfig
config = DataSourceConfig(
source_type="kalshi_historical",
ticker="NFLSUP-25-KCSF",
start_time="2024-01-01",
end_time="2024-12-31"
)
source = KalshiHistoricalDataSource(config)
trades_data = []
async def collect_trades():
async for trade in source.collect():
trades_data.append(trade)
if len(trades_data) >= 1000:
break
import asyncio
asyncio.run(collect_trades())
print(f"Collected {len(trades_data)} trades")
Strategy Development
from neural.analysis.strategies import MeanReversionStrategy
from neural.analysis import Backtester
strategy = MeanReversionStrategy(lookback_period=20, z_score_threshold=2.0)
engine = Backtester(initial_capital=10000)
results = engine.backtest(strategy, start_date="2024-01-01", end_date="2024-12-31")
print(f"Total Return: {results['total_return']:.2%}")
print(f"Sharpe Ratio: {results['sharpe_ratio']:.2f}")
Trading
from neural.trading.client import TradingClient
trader = TradingClient()
order = trader.place_order(
ticker="NFLSUP-25-KCSF",
side="yes",
count=10,
price=52
)
print(f"Order placed: {order['order_id']}")
Modules
| Module | Description |
|---|---|
neural.auth |
RSA authentication for Kalshi API |
neural.data_collection |
Historical and real-time market data |
neural.analysis.strategies |
Pre-built trading strategies |
neural.analysis.backtesting |
Strategy testing framework |
neural.analysis.risk |
Position sizing and risk management |
neural.trading |
Order execution (REST + FIX) |
Examples
See the examples/ directory for working code samples:
01_init_user.py- Authentication setupstream_prices.py- Real-time price streamingtest_historical_sync.py- Historical data collection05_mean_reversion_strategy.py- Strategy implementation07_live_trading_bot.py- Automated trading bot
Testing
pytest
pytest --cov=neural tests/
Contributing
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make changes and add tests
- Run tests:
pytest - Commit:
git commit -m "Add amazing feature" - Push:
git push origin feature/amazing-feature - Open a Pull Request
See CONTRIBUTING.md for detailed guidelines.
Development Setup
git clone https://github.com/IntelIP/Neural.git
cd neural
pip install -e ".[dev]"
pytest
ruff check .
black --check .
Resources
- Documentation: neural-sdk.mintlify.app
- Examples: examples/
- Issues: GitHub Issues
- Discussions: GitHub Discussions
License
This project is licensed under the MIT License - see LICENSE file for details.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file neural_sdk-0.3.1.tar.gz.
File metadata
- Download URL: neural_sdk-0.3.1.tar.gz
- Upload date:
- Size: 171.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e2bced0cb833d78c7450fc3ef3732fa6ad1a10d76b0cd5cf9a55c27b59f5e479
|
|
| MD5 |
34056a61f68e32bff288d4019a33be17
|
|
| BLAKE2b-256 |
d3ed1b8d75cd05519fc01e8d5a98991d6d33542b8a5c90ba7b30ee40dbc42cfc
|
File details
Details for the file neural_sdk-0.3.1-py3-none-any.whl.
File metadata
- Download URL: neural_sdk-0.3.1-py3-none-any.whl
- Upload date:
- Size: 122.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
420b83837872b5ce9afbb7e299f3d8a4db073bb4535b0939676cac40662031fc
|
|
| MD5 |
b05e9709475b5dcc65b1fbf0fcaed925
|
|
| BLAKE2b-256 |
ad3828d5be3b0f669620fcb65c392741fc45cf5202714f4fddbf0476804aa983
|