OpenTraderWorld
Health Uyari
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Low visibility — Only 5 GitHub stars
Code Gecti
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Gecti
- Permissions — No dangerous permissions requested
Bu listing icin henuz AI raporu yok.
Free and source-available, self-hostable trading workspace: data, backtest, trading journal, news aggregator, rich-doc editor, portfolio, 20+ modules — with a built-in MCP server and AI agent.
OpenTraderWorld
Your trading workspace, on your own machine.
A free, self-hosted platform that bundles the tools traders and investors actually use: trading journal, market data and backtesting, portfolios, news, planning. Your data stays on your machine. And if you want it, your own AI agent runs the whole thing alongside you.
Website ·
Documentation ·
Install in 2 minutes ·
Module tour ·
Suggest a feature
▶ Try the live demo
No account, no install, already full of realistic data. It is a shared sandbox, wiped every 15 minutes.
Why OpenTraderWorld?
- 🆓 Free. No subscription, no paywall, no "pro tier". Free for everyone, whether you
trade for a living or on the side. The idea behind it: get profitable before spending a dime. - 🔒 Private and self-hosted. It runs on your computer or your server with Docker. No
account, no cloud, no telemetry. Right after install it only answers on localhost, until
you decide otherwise. - 🧩 Modular. 25+ modules. Install what you use, detach the rest.
- 🔁 Updated constantly. New modules and improvements land regularly. The app tells you
when a version is out, updating is a couple of commands it shows you, and your data always
survives the upgrade. - 🗳️ Built with its users. Feature ideas come from the people using it. Suggest yours,
vote on other people's, watch the roadmap move. See Contributing ideas. - 🌍 7 languages. English, French, German, Spanish, Italian, Portuguese, Chinese.
- 🤖 AI built in, on your terms. There is a built-in
assistant that chats with your own
data. You bring the provider (Anthropic, or any OpenAI-compatible endpoint), and it gets
memory, skills and tool access scoped by token. There is also a built-in
MCP server, so external agents
can read or update your modules through that same token-scoped gateway. Both are off until
you turn them on. Your keys are encrypted at rest and never reach the browser. - ⚙️ Automate as much or as little as you like. The
automator turns your routines
into scheduled workflows: imports, reports, market scans, alerts, daily reviews. Any of them
can hand a step to your own AI model, or be driven by it from end to end. You stay in charge
the whole way: nothing runs, sends or writes anything you did not switch on yourself. - 🔑 Secrets stay sealed. An encrypted Vault
holds the credentials the app needs on your behalf. Encrypted at rest, write-only once saved,
and plugged into any module by reference so you never paste them twice.
Quick start
You need Docker (macOS, Linux or Windows).
curl -fsSL https://raw.githubusercontent.com/G-OTW/OpenTraderWorld/master/install.sh | bash
The installer asks a few questions, generates strong secrets, pulls the prebuilt images and
starts the stack, creates your admin account and prints its password once. Then open
http://localhost:5454 and sign in. If you want the long version (manual setup, headless
servers, LAN/HTTPS/public exposure, backups), it is all in
the documentation.
If the page won't load over plain HTTP. Browsers with HTTPS-only mode (Chrome/Edge
HTTPS-First, Firefox HTTPS-Only, Safari) rewritehttp://intohttps://and then cache
that redirect, so a LAN install answers nothing at all. Open the address in a private
window to confirm that is what is happening, then allow HTTP for that host. Or switch to
the LAN + HTTPS mode in Settings → Network and get a real certificate.
Try it without installing
There is a public sandbox at demo.opentraderworld.com,
also linked from the website. No account, no install, and it
comes seeded with realistic data so you land in an instance that looks used rather than empty.
One thing to keep in mind: it is shared. Everything you type is visible to other visitors,
the whole database is wiped and re-seeded every 15 minutes, and settings, connectors and
secrets are read-only. It runs on a small free-tier server with free AI models, so it is
slower than a local install. For anything real, install it. Two minutes.
What's inside
Every module ships with the app. Install what you use, detach the rest.
Trading
| Module | What it does |
|---|---|
| Trading Journal | Trade log with templates, fee schedules, multi-currency FX and performance stats. |
| Trading Routines | Recurring session checklists: pre-market prep, in-session discipline, post-market review. |
| Mindset | Daily mood and discipline check-ins, with trends over time. |
Market data and analysis
| Module | What it does |
|---|---|
| Historical Data | Download OHLCV history from several providers into local datasets. |
| Historical Data Visualization | Candle, OHLC, line and Renko charts with indicators, live or on demand, on any instrument a connector serves. |
| Backtest | Signal, grid and DCA strategies with sizing, costs, an optimizer and paper trading forward. |
| Quant Tools | Risk and return analytics: VaR, correlation, efficient frontier, position sizing, Kelly. |
Portfolios and money
| Module | What it does |
|---|---|
| Watchlists | Symbol watchlists with live prices, day changes, sparklines and notes. |
| Portfolio Tracker | Live portfolio value with a buy/sell ledger and holdings priced daily. |
| MyWealth | Net worth across everything you own: accounts, property, crypto, valuables. |
| Managers' Portfolios | Superinvestor 13F holdings, browsable and snapshotable. |
| Tax Calculator | Trading and investing tax estimates from country templates. |
| Subscriptions | Your recurring subscriptions and what they cost you. |
News and research
| Module | What it does |
|---|---|
| News | RSS and JSON-API news aggregator with polling dashboards. |
| Mailbox | Newsletters, market news and broker mail read from your own IMAP mailbox, tracker-free. |
| Economic Calendar | Upcoming macro events. |
| FinanceDatabase | Search 300,000+ instruments locally, and file your favorites in folders. |
| Resources | Bookmark library for books, links and references. |
| Community Docs | Guides written by the community, synced and readable offline. |
Notes and organization
| Module | What it does |
|---|---|
| Editor | Rich document editor with folders and table/kanban/gallery databases. |
| ToDo | Task list with due dates and categories. |
| Goals | Goals with metric tracking and deadlines. |
| Calendar | Personal event calendar, with reminders, todos and goals overlaid on it. |
| RemindMe | Reminders with in-app notifications and email/Telegram/Slack/Discord channels. |
| Time Tracker | Project timers with budgets and hourly-rate value. |
| Prompt Store | Searchable library of reusable AI prompts, tagged, rated and versioned. |
| Webhooks | Private inbound URLs that turn external alerts into notifications. |
| Automator | Scheduled workflows: call your own API or any URL, ask an AI step, transform, notify. |
AI
| Module | What it does |
|---|---|
| Agent | Built-in AI chat assistant. Bring your own provider, switch model or prompt mid-conversation, and let it act on your data through MCP, with memory, skills and external MCP servers. Reachable from a floating chat on every page. |
The full tour, with details, is in the module docs.
Backtesting: signals, grid, DCA
One engine, three ways to describe a strategy. No code.
- Signals. Entry and
exit rules from indicators, price and values, long or short, with stops, pyramiding, and
sizing by percent of equity, risk per trade, Kelly or equity tiers. Build your own indicators,
and the chart draws the same ones. - Grid. A ladder
of levels between two bounds, long, short or neutral. Each cell buys low and sells one level up. - DCA. A
weighted basket bought over time, never rebalanced: recurring contributions, buy tranches on a
dip, sell rules on a gain objective. Measured like a savings plan, with IRR and a
deposit-adjusted drawdown.
Run any of them on one instrument or a whole portfolio, with exposure limits and a per-asset
breakdown.
Optimizer
Take a run and vary its parameters: indicator lengths, thresholds, stops, sizing, costs,
portfolio limits, grid settings, DCA amounts, excluded weekdays. Each gets a from / to / step.
- It prices the job first, from what past runs measured on your own machine. Stop at any
point and keep what is computed. - Rank on Sharpe, Sortino, return, profit factor, win rate, expectancy, drawdown, trades or
out-of-sample return. Any column re-sorts after. - The spread matters more than the winner: worst, average, best, and how many variants came
out positive. One good number surrounded by terrible neighbours is noise. - A multiple-testing haircut puts the best Sharpe against the bar the best of N worthless
strategies would clear anyway. Below it, the winner is explained by the number of tries. - Click any variant to read its full backtest. Nothing is stored until you keep it.
Add an in-sample / out-of-sample split and the two stat blocks sit side by side. A wide gap
between them is overfitting.
Paper trading: the backtest, left running forward
Press one button on a run you like and it keeps going on new candles. There is no second
engine and no serialized simulator to drift: each tick reloads the window, runs the ordinary
backtest, and diffs the trades against what is already stored. A session opened from a result
reproduces that result exactly.
- Its own schedule: every N minutes, daily, weekly, monthly or once, in your timezone.
- Live alerts on entries and exits, or a period summary instead. Alert on every tick,
only when something changed, or never. - Digest it: hourly, daily or weekly, so a two-minute rule does not mean a two-minute ping.
- Your wording, not ours. Entry, exit and summary messages are templates you write, with a
preview against a sample trade before you save. - Anything the app could not deliver waits in the session inbox. You read it at the next login.
Filter alerts down to the tickers you care about, and pick which channels a session pushes to.
Data connectors
One connector list for the whole app. A connector is a provider account, its credentials
(typed in or plugged from the encrypted Vault, write-only once saved), an optional request
limit, and the modules allowed to use it. Modules have no provider settings of their own.
| Provider | Credentials | Asset types | Symbol search | Live stream |
|---|---|---|---|---|
| Binance | none | crypto | yes | yes |
| Kraken | none | crypto | yes | yes |
| Coinbase | none | crypto | yes | yes |
| Yahoo Finance | none | equity, ETF, index, crypto | yes | no |
| Alpha Vantage | API key | equity, ETF, crypto, FX | yes | no |
| EODHD | API key | equity, ETF, FX, crypto | yes | no |
| Alpaca | key + secret | equity, crypto, options | yes | yes (based on your broker subscription) |
| Massive (Polygon.io) | API key | equity, ETF, options, futures, crypto, FX, index | yes | yes (based on your broker subscription) |
| Interactive Brokers | none (your own gateway) | equity, ETF, crypto, FX, index, futures, options | yes | yes (based on your broker subscription) |
Every provider connects directly, with an API key or none at all. Interactive Brokers is the
exception: you run IB Gateway or TWS yourself and the connector stores a host and a port.
Details in the connectors guide.
Live feeds
| Provider | Price updates from | Live |
|---|---|---|
| Binance | trades | every timeframe |
| Kraken | trades | every timeframe |
| Coinbase | trades | every timeframe |
| Alpaca | trades | every timeframe |
| Massive | trades (quotes on FX, index values on indices) | every timeframe, futures excluded |
| Interactive Brokers | trades (midpoint on cash FX and crypto, which have no tape at IB) | every timeframe |
Missing a provider? Ask for it and it gets
added.
Notifications
These are the notification methods available today. More are planned: if your preferred one is
missing, ask for it.
| Channel | What you provide |
|---|---|
| your own SMTP server | |
| Telegram | a bot token and a chat id |
| Slack | an incoming webhook URL |
| Discord | an incoming webhook URL |
Secrets are sealed on save and never shown again. What can notify you: paper trading sessions,
watchlist alerts, reminders, finished or parked data downloads, new mail, journal jobs,
inbound webhooks, and any automator workflow. Everything is off until you switch it on, and
in-app notifications work without configuring a single channel.
⭐ Enjoying it? Help it grow
OpenTraderWorld is free and built in the open. If it is useful to you, the easiest way to give
back costs nothing:
- Star the repo. It is a quick signal, and it helps other people find the project.
- Share it. A word to a fellow trader, a link in your community, a mention anywhere. It
helps more than you would think.
No pressure. Even just trying it out and telling a friend means a lot. 🙏
Got ideas, or found a bug? See Suggest, vote, contribute below.
💡 Suggest, vote, contribute
This project grows on user feedback:
- Suggest a feature or a module. Head to
opentraderworld.com/suggestions and describe what
you are missing and how you would use it. - Vote. 👍 the suggestions you want most on the website. Popular requests get prioritized.
- Report bugs. Open an issue with the
symptom and a few log lines. - Write for the community. Guides written in the app's Editor can be submitted for
publication in the shared Community Docs library, where
every install can read them.
Project links
| Where | What you'll find |
|---|---|
| opentraderworld.com | Project home: module overview, community guides, roadmap voting, demo. |
| opentraderworld.com/tools | The 25+ modules by domain, in plain language. |
| opentraderworld.com/docs | Community Docs: trading guides written by users, synced into every install. |
| opentraderworld.com/suggestions | Suggestions and polls: propose features, vote on the roadmap. |
| demo.opentraderworld.com | Live shared demo, reseeded every 15 minutes. |
| Documentation | Install, configuration and module reference. |
| GitHub | Source, releases, issues. |
Under the hood
| Layer | Tech |
|---|---|
| Backend / core | Rust (Axum): API, scheduler, background jobs |
| Frontend | SvelteKit single-page app |
| Data | PostgreSQL, the only place your data lives |
| Reverse proxy / TLS | Caddy, automatic HTTPS certificates |
| Deployment | Docker Compose, non-intrusive and quickly rebuilt |
OpenTraderWorld/
├── install.sh # one-command installer (fetches deploy/, runs setup)
├── deploy/ # docker-compose stack, setup.sh, Caddy config
├── core/ # Rust workspace (API, store, scheduler, feeds…)
├── frontend/ # SvelteKit app (modules UI)
└── docs/ # documentation site (VitePress)
Status
Actively developed. It is usable today and moving fast. Check Settings → Update app in the
app to know when a new version is out.
Disclaimer
This software is for educational and informational purposes only. It is not financial,
investment, or trading advice. USE IT AT YOUR OWN RISK. The author and any affiliates
accept no responsibility for your trading or investment results, or for any loss or damage
arising from use of this software. Never risk money you cannot afford to lose. There will be
bugs: the software is provided "as is", without warranty of any kind. You alone are
responsible for how you use it and for the decisions you make with it.
License
FSL-1.1-MIT (Functional Source License). Free for everyone, including commercial
use, self-hosting at work, modification, redistribution and forks. The one thing it does not
grant is a Competing Use: selling the software, or offering it to others as a paid product
or a hosted service. Each release turns into plain MIT two years after it is published.
Yorumlar (0)
Yorum birakmak icin giris yap.
Yorum birakSonuc bulunamadi