Python SDK for the IrrationalSignals stock-signal API
Project description
irrationalsignals
Python SDK for the IrrationalSignals stock-signal API.
pip install irrationalsignals
Quick Start
from irrationalsignals import Client
client = Client("isk_pro_abc123...")
response = client.get_signals()
for signal in response.signals:
print(f"{signal.symbol} {signal.direction} (win rate: {signal.win_rate:.0%})")
Filter by Sector
response = client.get_signals(sector="Technology")
Historical Hour (Max Tier)
response = client.get_signals(hour=14) # 2 PM ET signals
Error Handling
from irrationalsignals import Client, AuthError, RateLimitError, APIError
client = Client("isk_pro_abc123...")
try:
response = client.get_signals()
except AuthError:
print("Invalid API key")
except RateLimitError as e:
print(f"Rate limited — retry after {e.retry_after}s")
except APIError as e:
print(f"API error {e.status_code}: {e.detail}")
Response Objects
SignalResponse
| Field | Type | Description |
|---|---|---|
market_hour |
str |
ISO 8601 UTC timestamp of the signal hour |
signal_count |
int |
Number of signals returned |
tier |
str |
Your plan tier (free, pro, max) |
next_update |
str | None |
When the next signal batch is expected |
signals |
list[Signal] |
The signals |
disclaimer |
str |
Legal disclaimer |
Signal
| Field | Type | Description |
|---|---|---|
symbol |
str |
Ticker symbol |
direction |
str |
"BUY" |
win_rate |
float |
Historical win rate (0–1) |
current_price |
float | None |
Latest price |
vix_at_signal |
float | None |
VIX level when signal was generated |
sector |
str | None |
GICS sector |
industry |
str | None |
GICS industry |
execution_guidance |
ExecutionGuidance | None |
Entry/exit targets |
preflight |
PreflightData | None |
Real-time checks (Max only) |
ExecutionGuidance
| Field | Type | Tier |
|---|---|---|
entry_price |
float |
All |
expected_return_pct |
float |
All |
exit_target |
float |
All |
primary_horizon |
str |
All |
stop_loss_armed |
float | None |
Max |
stop_loss_hard |
float | None |
Max |
horizon_end |
str | None |
Max |
PreflightData (Max tier only)
| Field | Type | Description |
|---|---|---|
price_vs_entry_pct |
float | None |
Price drift from entry |
intraday_range_position |
float | None |
Position in day's range (0–1) |
relative_volume |
float | None |
Volume vs. average |
checked_at |
str |
ISO 8601 timestamp |
Tier Comparison
| Feature | Free | Pro | Max |
|---|---|---|---|
| Signals per hour | 1 | 8 | Unlimited |
| Market hours | 10 AM only | All hours | All hours |
| Execution guidance | Basic | Basic | Full (+ stop losses) |
| Preflight data | — | — | Included |
| Historical lookback | — | — | Same-day by hour |
| Daily API calls | 25 | 100 | 500 |
Links
Project details
Release history Release notifications | RSS feed
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 irrationalsignals-0.1.0.tar.gz.
File metadata
- Download URL: irrationalsignals-0.1.0.tar.gz
- Upload date:
- Size: 5.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e3e54421a36fd2ef6fb56c29209bf7b74650ea94f5e1a60269fac27ecf961002
|
|
| MD5 |
72a090ecf5110ccbb330fd1cbee4b5de
|
|
| BLAKE2b-256 |
5f1732c5c96f3dec10089957d2514dc77e2bad95a3ad6e284e3b0b42357b4eb9
|
File details
Details for the file irrationalsignals-0.1.0-py3-none-any.whl.
File metadata
- Download URL: irrationalsignals-0.1.0-py3-none-any.whl
- Upload date:
- Size: 5.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
0ac9ee742fb5a9d1da30ec920ce37c8dd592109b388da885b3b0c21ea9e227f1
|
|
| MD5 |
aa401fd8a3476a622ef90a5d70067656
|
|
| BLAKE2b-256 |
0c2a76bc5e1bfc48624cd67235d8fca70a9935cb21f38e3138dd1babe755ed9f
|