Build a Python risk dashboard and journal
Turn account history and trade exports into a risk dashboard that highlights behaviour, not hype.
Lesson outcomes
- Define dashboard metrics that actually improve decisions.
- Create a simple journal schema for trades, bot settings, and reviews.
- Use charts to catch risk drift and overtrading.
Workshop lab
Complete the demo, notebook, platform, or code task before treating the lesson as finished.
Evidence pack
Keep screenshots, exports, logs, calculations, or code versions in a dated learning folder.
Pass standard
You should be able to explain the failure modes, show your work, and name the stop rule.
Free education, not signals. This lesson is part of EarnSouthAfrica's free forex course. It does not tell you what to buy or sell, it does not promise income, and it should be practised on a demo account before any real-money decision.
Most trading dashboards are built to impress strangers. A useful dashboard is quieter: it tells you whether you are following your rules, increasing risk after losses, trading during banned news windows, or relying on one lucky day.
Python can help combine exported trade history, manual notes, and bot settings. The point is not to create a shiny product. The point is to make your own behaviour harder to hide from.
What you should be able to do after this lesson
- Define dashboard metrics that actually improve decisions.
- Create a simple journal schema for trades, bot settings, and reviews.
- Use charts to catch risk drift and overtrading.
Journal schema
- trade_id, date, symbol, direction, setup, entry_reason, exit_reason.
- planned_risk_rand, actual_risk_rand, result_rand, result_r_multiple.
- spread_at_entry, slippage, session, news_window, screenshot_link.
- bot_version, settings_file, magic_number, VPS_status for automated trades.
- rule_followed, mistake_type, review_note, next_action.
Dashboard metrics
Track metrics that expose process: average R, largest losing streak, daily loss limit hits, percentage of trades with screenshots, trades taken during banned times, bot uptime, rejected copier events, and performance by setup. Avoid vanity metrics that encourage bigger risk without better process.
import pandas as pd
trades = pd.read_csv("demo_journal.csv")
print(trades.groupby("setup")["result_r_multiple"].agg(["count", "mean", "sum"]))
print(trades[trades["rule_followed"] == False].shape[0])
Review cadence
Review weekly for behaviour and monthly for system performance. Do not change a strategy every time a dashboard line turns red. First ask whether the sample size is meaningful and whether the issue is market behaviour, execution cost, rule-breaking, or simple randomness.
Academy-grade study plan
Data work should make claims harder to fake. A paid-course standard notebook records where data came from, how it was cleaned, what was measured, which assumptions were tested, and what would invalidate the conclusion.
| Course element | What you must produce |
|---|---|
| Primary artifact | Research notebook and data dictionary |
| Lesson focus | Build a Python risk dashboard and journal |
| Working environment | Demo account, notebook, exported platform data, or local code sandbox. Never live funds for first practice. |
| Completion standard | You can explain the concept, reproduce the exercise, identify failure modes, and show evidence without relying on a seller's claims. |
Instructor workflow
Use this workflow as if an instructor were marking the lesson. The important question is not whether the topic sounds familiar. The question is whether your notes, screenshots, calculations, logs, or code prove that you can apply build a python risk dashboard and journal under controlled conditions.
- Record broker, terminal, symbol, timeframe, date range, timezone, and data pull method.
- Separate exploration, validation, dashboarding, and execution code.
- Check missing data, duplicates, spread outliers, news windows, and regime changes before drawing conclusions.
- Use charts to expose behaviour and risk, not to decorate a sales page.
Worked case study: Notebook finds the strategy depends on one regime
A notebook shows that most profit came from one volatile month while the rest of the sample was flat after costs. The paid-course response is to reduce confidence, mark the system as regime-dependent, and design a forward test that specifically monitors whether the same conditions are present.
After reading the scenario, write the decision you would make before checking the suggested workflow above. Then compare your decision with the operating model. The gap between those two answers is the part of the lesson that deserves another demo repetition.
Professional template
Complete this template in your own notebook. A paid course would normally hide this kind of operating document behind worksheets; here it is part of the free lesson.
| Field | Standard |
|---|---|
| Dataset | Symbol, timeframe, source, date range, timezone, broker, and extraction script. |
| Cleaning checks | Missing bars, duplicates, impossible values, spread spikes, and session labels. |
| Metric | R-multiple, drawdown, trade count, cost sensitivity, volatility, or rule-following measure. |
| Conclusion | Supported, uncertain, rejected, or needs forward-demo evidence. |
Failure-mode lab
Paid courses often sell confidence. A serious course teaches you how the idea breaks. Before continuing, test the failure modes below on demo, paper, or code review. If you cannot describe the failure, you are not ready to trust the concept.
- Using a notebook result without recording the broker and date range.
- Letting one chart imply certainty without sample-size and cost checks.
- Mixing research code and live execution code too early.
- Ignoring data leakage when using future information accidentally.
Evidence pack and pass standard
Do not mark this lesson complete because you read it. Mark it complete only when you can show the evidence below. Keep the files in a dated folder so your learning history survives platform updates, memory gaps, and sales pressure.
- A one-page note explaining build a python risk dashboard and journal without sales language or copied definitions.
- A screenshot, export, calculation, log, or code file that proves the practical work was completed on demo.
- A written stop rule that says when this topic must not be used with real money.
- A notebook or CSV export with a data dictionary and at least three cleaning checks.
- A dashboard screenshot that highlights risk behaviour, not only profit.
Assessment rubric
| Level | What it looks like |
|---|---|
| Not ready | You can repeat the vocabulary but cannot complete the demo task, calculate the risk, explain the failure mode, or show evidence. |
| Course pass | You can complete the practical task on demo, explain the decision rules, show evidence, and name the conditions where the idea must not be used. |
| Strong pass | You can teach the concept to someone else, find edge cases, document a rejected example, and improve the template without weakening risk controls. |
Advanced homework
- Compare the same metric across two symbols or two sessions.
- Add a cost-stress column and rerun the conclusion.
- Write a notebook README explaining how another person could reproduce the result.
Practical drill
Do this lesson as a controlled exercise, not as a reason to trade live. Open a demo account or notebook, write the lesson title, and record what you changed, clicked, calculated, or checked. If the lesson includes code, compile it only in a demo environment and keep the original version unchanged so you can compare edits safely.
- Write a one-paragraph explanation of build a python risk dashboard and journal in your own words.
- Take one screenshot or note that proves you completed the platform, maths, research, or code task.
- Record one risk rule that would stop you from using this idea with real money.
- If anything feels unclear, repeat the lesson before moving to the next module.
How scammers misuse this topic
Scammers often take real concepts and wrap them in urgency. They may use platform jargon, bot screenshots, copied profit charts, or official-sounding language to make a paid offer feel safe. A real concept is not the same as a safe offer. Before paying anyone, ask whether you can verify the provider, reproduce the calculation, test the claim on demo, understand the risk, and walk away without pressure.
Checkpoint before continuing
- You have a journal schema before importing data.
- Your dashboard includes process metrics, not only profit.
- You have a weekly and monthly review cadence.
Official references
These lessons are written as free education. When platform features or rules matter, verify against the official source before using real money.
Risk note: leveraged forex and contracts for difference can lose money quickly. EarnSouthAfrica is an educational publisher, not a broker, adviser, signal provider, or money manager.
Keep exploring
Read the latest guides, take the side-hustle quiz, or contact the editorial desk if you spot a correction.