v0.23 — protected official robot ledger

Green Investment Dashboard — Powered by AI

Build and compare saved stock/ETF portfolios, then follow a server-side paper robot that runs even when your computer is off. The goal is simple: define rules, save baskets, and measure results against benchmarks. Not financial advice.

1
Set rulesCurrency, horizon, exclusions and benchmark.
2
Save portfoliosCreate several named baskets for the active user/profile.
3
Compare resultsBack-test portfolios and load the always-on robot track record.
Analysed
after hard filters
Top candidate
Run analysis
Median score
risk-adjusted
ETF share
within recommendations
Green average
green revenue / ESG blend
Excluded
ethics / country / size filters
Base currency
CHF
Checking API

How the recommendation engine works

Transparent sequence: hard exclusions → horizon-weighted score → ETF benchmark discipline → reality tracking.
explainable logic
1. Hard filters first.
Asset type, country/region, green-only, Israel exposure, defense and surveillance-sensitive exclusions are applied before scoring.
2. Score by horizon.
Shorter horizons emphasize momentum and catalysts; longer horizons emphasize quality, valuation discipline, balance sheet strength and risk control.
3. Track reality.
Every saved idea keeps entry date, entry price, score and horizon so performance can be checked later against a benchmark.
Selection criteria for stocks, ETFs and AI-upside basket
Stocks Must justify concentration risk through quality, growth/catalyst, valuation discipline, acceptable risk and a thesis that beats a broad ETF alternative.
ETFs Must have a clear portfolio role, diversification, acceptable cost/liquidity proxy, benchmark usefulness and no blocked hidden exposure.
AI upside hedge Tilts to chips, foundries, lithography, networking, cloud, data-center power/cooling, grid and nuclear/power equipment. Higher volatility is expected.
Reject / avoid Blocked exposure, weak score, high risk penalty, poor quality, weak valuation/growth mix, or no reason to prefer it over an ETF.

Investment preferences

Hard exclusions are applied before scoring. The Israel rule removes Israeli country/listing/domicile and material exposure based on the dataset, not name guessing.
filters first
Idle
Main action
Update
Refreshes ranks, prices/news and criteria.
Storage
Local + D1
Watchlists stay local; robot history can be cloud/public.
Benchmark
S&P / Global
Use benchmark comparison before trusting a stock.
Shareable settings link
Share the current filters, horizon, benchmark and selected ticker. Watchlists and saved portfolios are intentionally not embedded; export JSON if you want to move saved data.
The link updates after recommendations run or when you click Refresh link.

Recommended candidates

Click a row to inspect. The table shows a compact selection reason; the selected-asset panel shows the full pass/watch/fail criteria checklist. Tick several assets to add them quickly to the watchlist, save a basket, or back-calculate 3M/6M/1Y returns with stock-by-stock performance attribution.
waiting
0 selected
Select assets with the checkboxes, then click a return window.
Click “Update recommendations”.

Selected asset

No asset selected.
Select a stock or ETF after running the analysis.
Selection criteria: run the analysis and select a stock/ETF to see why it passed, what is only watch-level, and what failed.

Score breakdown

The risk component is shown as a negative penalty.

Price history

History range follows the selected horizon.

Recent news / catalyst

seed or live API
No asset selected.

Single-asset simulation

Scenario simulation uses score, asset type, horizon and volatility, then overlays the selected S&P/global benchmark as a reference line. It is not a forecast; it is a sanity-check tool.
asset vs benchmark
Run recommendations, select an asset, then click “Run simulation”.
What the simulation button does
It takes the selected asset's score, risk penalty, asset type, holding horizon, initial investment and monthly addition. It then builds bear/base/bull scenario paths and overlays the selected S&P/global benchmark. This is a stress-test, not a price forecast.

5) Auto portfolio comparison

Compares automatic groups from the current recommendations in the selected base currency.
Use ETFs as benchmark candidates: e.g. a global ETF should be the minimum hurdle for single-stock ideas.

My saved portfolios

This is the main personal workspace. One user/profile can save many portfolios, select several of them, and compare their historical performance against the same benchmark.
main workspace
1CreateChoose Top 6, ETF basket, AI hedge, green basket or selected asset.
2SelectTick several saved portfolios in the table. These are the baskets to compare.
3Back-testRun one benchmark-aligned comparison with portfolio curves and asset attribution.
Saved portfolios
0
For active profile only.
Selected to compare
0
Tick rows in the table.
Look-back
60d
Same window for all portfolios.
Benchmark
SPY
S&P/global comparator.
What is saved and what is compared?
Saved per portfolio: name, assets, weights, horizon, base currency and entry score snapshot. Compared: each selected portfolio is reconstructed over the same look-back window and plotted against the chosen benchmark. Storage: portfolios are local to this browser/profile; use JSON export/import to move or back them up.
No saved portfolios yet.
Save at least one portfolio, tick it in the table, then click “Compare selected”. The chart will show selected portfolio paths and the benchmark over the same period.

Always-on paper robot

One idea only: the Cloudflare Worker runs on schedule with computers off, stores paper picks in D1, and this page automatically reads the public results and compares them with the benchmark.
server robot
1Robot ON?The Worker should answer from Cloudflare. Your computer does not need to stay on.
2Auto recordsTest mode: every 3 hours on weekdays. Each run writes a paper basket to D1.
3Results appear hereThe page auto-loads the public robot feed and recalculates return vs benchmark.
True robot
Unknown
ON means Worker responds.
Cloud records
Records stored in D1.
Last server run
Latest paper basket date.
Next expected run
Estimated from cron metadata.
Expected live Worker: https://green-ai-daily-robot.rdufour543.workers.dev. Official results are written only by scheduled Worker runs. Manual tests are dry-runs and are excluded from the public performance ledger.
Robot result view: this loads automatically. It shows only official scheduled robot records from D1. Visitors can see the shared robot track record, but they cannot modify it or contaminate it with manual tests.
Auto-loading public robot feed…
Since first robot run
Earliest cloud record shown.
Robot return
Latest basket performance.
Benchmark return
SPY / selected benchmark.
Robot alpha
Robot minus benchmark.
The chart auto-compares public server-robot baskets against the benchmark. Manual/local controls are hidden below for owner testing only.
No robot entries yet.
Advanced / owner controls

Owner/debug tools only. The official public track record comes from scheduled Worker runs. Manual tests below are dry-runs and do not overwrite or contaminate official robot results.

Owner cloud tools: these use the authenticated/test user cloud ledger. The public feed is safer for normal visitors.
Cloud sync not checked. Public feed can still work separately.

On/off logic: the server robot is ON if the Cloudflare Worker is deployed with cron triggers. To stop it, disable/delete the Worker cron. The dashboard itself does not need to stay open. Manual dry-runs do not write to the official D1 ledger.

Bottom line: when the Worker is ON, it runs on Cloudflare infrastructure, not on your computer. The D1 database stores the record. This page only reads and visualizes the record against SPY / S&P 500 or the selected benchmark.

Optional watchlist scratchpad

Use this only for quick ideas you are not ready to save as a proper portfolio. For serious comparison, save named portfolios above.
optional / local
Open watchlist tools
Watchlist back-test appears here. The table shows every stock/ETF, return %, contribution and whether it helped or hurt.
No watchlist entries yet.

Storage: watchlists are local to this browser/profile. They are deliberately lighter than saved portfolios.

Important guardrails

Keep the dashboard useful without pretending it predicts the future.
Not financial advice A high score means “review candidate under this horizon,” not a guaranteed return.
ETF hurdle For long-term money, broad ETFs are the default comparator. Single stocks must justify concentration risk.
Back-tests are retrospective The “60 days ago” tool shows historical behaviour, not future performance.
Storage discipline Portfolios/watchlists are local unless exported; robot history is durable when written to D1/cloud by the server Worker.