Dashboard
TASI live
?
Not signed in
Welcome to Tasilab. Let's run something.
Sign in to start logging experiments and paper trading on the Saudi Exchange.
Total experiments
—
across all types
Running
—
not yet sealed
Simulated trades
—
closed round-trips
Overall win rate
—
weighted across experiments
Currently running
No runs in flight
Start an experiment from your SDK and it will show up here until you call .end().
Highlights — top by each metric
No completed experiments yet
Highlights appear here once you've finished at least one run.
Recent experiments
View all →
| Name | Type | Symbol | Status | Return | Created |
|---|---|---|---|---|---|
| Sign in to see your dashboard. | |||||
Paper wallet
—
SAR · starting balance 100,000
In positions
—
SAR deployed
Total PnL
—
SAR · 0.00%
Win rate
—
0W · 0L
Top symbols by P&L
Computed from your trade history
No trades yet
Once you place orders via the API, your top symbols will appear here grouped by realized P&L.
Trade history — all symbols
| Date | Symbol | Side | Quantity | Price | Value (SAR) | Commission | Status |
|---|
Telegram notifications
Loading…
Edge Explorer
Ask one question at a time: pick a condition, pick a forward horizon, see how that slice of history compares to the unconditional baseline. No strategy, no fees, no P&L — just whether the edge exists before you commit to building a rule around it.
Negative = gap-down. e.g. -2.0 finds days that opened ≥2% below the prior close.
Result
Matched bars—
Total bars—
Match rate—
Matched bucket
Mean return—
Median—
Win rate—
Std dev—
Baseline (all bars)
Mean return—
Median—
Win rate—
Std dev—
Mean-return edge—
Win-rate edge—
p-value vs. baseline—
Forward-return distribution (matched vs. baseline)
Matched
Baseline
Export
Test a strategy on real TASI history
We start you with SAR 100,000, run your rule against real historical prices from the period you pick, apply TASI commission & VAT, and show what the account would be worth at the end.
1 Year
3 Years
5 Years
BUY when the fast average crosses above the slow one; SELL on the reverse. The classic "golden cross" is
SMA(50) × SMA(200).
BUY when price crosses above the moving average; SELL on the reverse. A trend-follower that uses one MA as the trigger line — common with
SMA(50) or EMA(200).
BUY when the MACD line crosses above the signal line; SELL on the reverse. The canonical Appel rule. Defaults
12 / 26 / 9 are the most-used preset.
Risk management (optional)
Did you know?
—
Starting capital
SAR 100,000
—
Final value
—
—
Return
—
—
Trades
—
—
Equity curve
Your strategy
Buy & hold same stock
Trades
| Date | Side | Price | Quantity | Value (SAR) | Reason |
|---|
Export
Your API key
No API key set. Sign up to get one.
Pass this key in the
X-API-Key header with every request.Quick start (Python SDK)
pip install tasilab
from tasilab import Tasilab
tasi = Tasilab(api_key="YOUR_API_KEY")
# 1. Pull historical bars (Tasilab caches them for you)
hist = tasi.get_historical("1120", "2024-01-01", "2025-12-31")
# 2. Run your strategy locally → list of trade dicts
trades = my_strategy(hist["bars"])
# 3. Log the run as a Tasilab experiment
with tasi.create_experiment(
name="MACD 12/26/9 on Al Rajhi",
symbol="1120",
start_date="2024-01-01", end_date="2025-12-31",
parameters={"fast": 12, "slow": 26, "signal": 9},
) as exp: # auto-seals on exit
exp.log_trades(trades)
exp.log_metrics({"total_return_sar": 439.64, "win_rate": 0.412})
Endpoints
GET /v1/auth/meCurrent user profile (id, email, api_key)GET /v1/market/quote/{symbol}Real-time TASI quoteGET /v1/market/statusIndex value, mood, advancing/decliningPOST /v1/ordersPlace a market or limit orderGET /v1/ordersList ordersGET /v1/portfolioCash, positions, total returnGET /v1/portfolio/tradesTrade historyGET /v1/analytics/performanceWin rate, P&L, trade statsEvery plan starts you with SAR 100,000 of paper capital and real TASI market data. Pick the one that matches how much you want to explore.
Paid plans are launching soon — your Free plan access isn't changing.
Free
0 SAR/mo
.
Try the product, no card required
✓SAR 100,000 paper wallet (1 wallet)
✓Delayed TASI quotes (15-min lag)
✓1 year of history
✓Market orders · max 5 open positions
✓3 strategy runs (lifetime)
✓1 sequential backtest
✓100 API requests / day
Starter
79 SAR/mo
or 790 SAR/yr · 2 months free
Real-time data, no commitment
Everything in Free, plus:
✓Real-time TASI quotes (live)
✓3 years of history
✓Market + limit orders · stop-loss / TP
✓10 open positions · wallet up to SAR 200K
✓Unlimited strategy runs
✓500 API / day · 1 webhook · CSV export
Most popular
Growth
149 SAR/mo
or 1,490 SAR/yr · 2 months free
Run 2 backtests at once · AI analytics
Everything in Starter, plus:
✓3 paper wallets (up to SAR 500K)
✓2 concurrent backtests
✓Slippage simulation
✓20 AI analytics calls / month
✓Compare up to 3 strategies side-by-side
✓1,000 API / day · 3 webhooks · 2 keys
✓Priority email (48h SLA)
Pro
249 SAR/mo
or 2,490 SAR/yr · 2 months free
The full parallel lab
Everything in Growth, plus:
✓5 wallets (up to SAR 2M) · unlimited positions
✓5 concurrent backtests
✓Unlimited history + intraday (1m/5m)
✓WebSocket streaming · order book snapshot
✓STOP + OCO orders · configurable slippage
✓Unlimited side-by-side comparison · grid sweep
✓100 AI analytics / month (advanced model)
✓10,000 API / day · 10 webhooks · 5 keys
✓Dedicated support (24h SLA · Telegram)
Need something else?
Universities, trading clubs, and research teams can email contact-us@tasilab.com about bulk seats.
Get in touch
System status
API checking…
Database checking…
Sahmk data checking…
Send us a message
Bug reports, feature requests, or anything else. We typically reply within a couple of days.
Regulation & advice
Is Tasilab a financial advisor?
No. Tasilab is a research, analytics, and paper-trading platform — a developer tool. It does not provide investment advice, recommendations, portfolio management, or any regulated financial service. Every analysis, backtest result, AI explanation, and exported report is educational content on historical data. Do not treat any output as a basis for real-money trading decisions. For investment advice, consult an advisor licensed by the Saudi Capital Market Authority.
Are you regulated by the Saudi Capital Market Authority (CMA)?
No, and we don't need to be. The Capital Market Law regulates licensed activities — placing real orders, custodying client money, providing personalised investment advice, managing portfolios. Tasilab does none of those. We simulate trades against real market data for research and education only. No real orders are routed; no client money is held; no recommendations are issued. See our disclaimer for the full position.
Can I use the AI explanations as a basis for real trades?
No. AI explanations describe historical statistical results in plain language. They are explicitly prohibited from recommending specific trades, suggesting buy/sell actions, or predicting future prices. The model is instructed to refuse personalised-advice questions and to direct you to a CMA-licensed advisor. If an AI response ever drifts into advisory tone, treat it as a system error and please report it.
What if I share a backtest publicly — could that be considered providing advice?
Sharing a backtest run via public link or social media is sharing your own research output, similar to publishing a blog post about a strategy idea. It's not regulated investment advice as long as you're not soliciting personalised investment relationships or charging for it. The export footer ("Educational simulation. Not investment advice.") makes the framing explicit. If you do plan to charge for advice or solicit clients, get a CMA license first.
Frequently asked questions
How do I place a paper trade?
Use the
POST /v1/orders endpoint with your API key. Specify the symbol (e.g. 2222 for Aramco), side (BUY/SELL), order_type (MARKET/LIMIT), and quantity.What are Saudi Exchange trading hours?
The Saudi Exchange (Tadawul) trades Sunday–Thursday, 10:00–15:00 AST. Orders submitted outside these hours are queued as PENDING and fill at market open.
How is paper wallet commission calculated?
Commission is 0.155% of trade value, plus 15% VAT on the commission — matching standard Saudi brokerage rates. Fees are deducted from your paper cash balance automatically.
How does slippage work on market orders?
Market orders include realistic slippage based on order size vs. average daily volume: 0% under 1% of ADV, 0.1% between 1–5%, and 0.25% above 5%. Limit orders have no slippage and fill at the exact limit price.
Export & share
How do I export an Edge Explorer or Quick Predictor result?
After running a query, the result card has an Export bar with five options: Copy JSON (clipboard, ready to paste anywhere), PDF (branded printable report), PNG · link preview (1200×630 share card, ideal for messaging apps and social), PNG · square (1080×1080, for Instagram / WhatsApp status), and Share link (next FAQ).
Can I really paste the JSON straight into ChatGPT or Claude?
Yes — that's exactly what it's designed for. The exported JSON is a self-contained Report envelope: a one-paragraph plain-English synopsis at the top, full structured payload below, plus the methodological caveats. Try a prompt like
"Here's a Tasilab research report. What's the most likely overfitting risk and how would you stress-test the result?" followed by the JSON. The same envelope can also reach the API at GET /v1/reports/{kind}/{run_id} if you want to pull it programmatically.How do I share a result on WhatsApp, Telegram, or X?
Click Share link on the export bar. We mint a public URL like
https://api.tasilab.com/share/ml/<token>; on phones, your OS share sheet pops directly so you can pick WhatsApp / Telegram / etc. — the message will auto-render with the share-card preview thanks to Open Graph + Twitter Card meta tags. On desktop the link goes to your clipboard. The link is read-only; viewers see the rendered card and the synopsis but cannot see your account, parameters not in the result, or any other run.How do I revoke a public share link?
Click the Revoke button next to Share link on the export bar. The token is soft-revoked immediately; anyone hitting the URL gets a 404 within ~5 minutes (cache TTL). Re-sharing later mints a fresh token — old revoked URLs stay dead.
Where is my run after I close the page?
Every Edge Explorer / Quick Predictor result is persisted with a stable
run_id. You can fetch it again any time at /v1/reports/{kind}/{run_id} (JSON), .pdf, or .png — same content as the export buttons, just from the API directly.Quick Predictor
One-click classifier on a fixed feature set (lagged returns, RSI, volume ratio, overnight gap). Predicts next-day direction. Reports out-of-sample accuracy + AUC + feature importances. Useful as a sanity check before you build a strategy around an idea — if the predictor can't even beat the majority-class baseline, the features probably aren't carrying signal.
Result
Out-of-sample (test set)
Accuracy—
AUC—
Baseline (majority)—
Test rows—
Training (in-sample)
Accuracy—
Train rows—
Fit time—
Model—
ROC curve (test set)
Confusion matrix (test set)
Feature importance
Export
Your experiments — all types
All
Technical indicator
Machine learning
| Name | Type | Symbol | Status | Return | Win rate | Trades | Created |
|---|---|---|---|---|---|---|---|
| Sign in to view your experiments. | |||||||
Experiments are created programmatically via the SDK. See the API page for examples.
Profile
Account details
PlanFree — Upgrade
Member since—
Total trades placed—
Win rate—
Realized P&L—
Sign out
This removes your API key from the browser. Your account and trade history stay safe on the server.