Skip to main content

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

irrationalsignals-0.1.0.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

irrationalsignals-0.1.0-py3-none-any.whl (5.9 kB view details)

Uploaded Python 3

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

Hashes for irrationalsignals-0.1.0.tar.gz
Algorithm Hash digest
SHA256 e3e54421a36fd2ef6fb56c29209bf7b74650ea94f5e1a60269fac27ecf961002
MD5 72a090ecf5110ccbb330fd1cbee4b5de
BLAKE2b-256 5f1732c5c96f3dec10089957d2514dc77e2bad95a3ad6e284e3b0b42357b4eb9

See more details on using hashes here.

File details

Details for the file irrationalsignals-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for irrationalsignals-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0ac9ee742fb5a9d1da30ec920ce37c8dd592109b388da885b3b0c21ea9e227f1
MD5 aa401fd8a3476a622ef90a5d70067656
BLAKE2b-256 0c2a76bc5e1bfc48624cd67235d8fca70a9935cb21f38e3138dd1babe755ed9f

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page