ATLAS PREDICTIONS DATASET - DATA DICTIONARY =========================================== Source: atlas-stocks.com/track-record License: free to use with attribution to ATLAS (atlas-stocks.com). Not investment advice. Past predictions do not guarantee future results. TWO KINDS OF PREDICTIONS (never mix them up) -------------------------------------------- data_type = live Published by the ATLAS model every day since 30 September 2026 (model_version daily-fan-v2-30d). published_at is the real time the prediction was written to our database. data_type = reconstructed History rebuilt in October 2026 after a database loss (model_version rebuilt-daily-fan-v2). Same model, run for each day from January to September 2026 using only the data available on that day ("point-in-time"), and then closed against the real price. These were NOT published live at the time: published_at is the date of the rebuild (October 2026), not the date of the prediction. WHAT IS PREDICTED ----------------- One predicted price per stock, prediction date and horizon (1 to 30 trading days ahead). The database stores that single predicted price. It does not store a probability or a range per prediction, so the files do not contain one. predicted_direction is derived from the predicted price. COLUMNS ------- prediction_date Day the prediction was made (YYYY-MM-DD). target_date Day the prediction refers to. symbol, name, exchange, currency The stock. horizon_days Days ahead of prediction_date (1-30). price_at_prediction Last daily close on or before prediction_date (the reference price). price_at_prediction_date Date of that close. predicted_price The model's predicted price for target_date. predicted_direction up / down / flat: sign of predicted_price minus price_at_prediction. predicted_change_pct (predicted_price / price_at_prediction - 1) * 100. status closed = the target date has passed and a real price was recorded; open = still pending (or no price could be recorded yet). outcome_price Real closing price on outcome_date (empty while open). outcome_date Date of the real price. actual_change_pct (outcome_price / price_at_prediction - 1) * 100. result hit = the real price moved in the predicted direction; miss = it moved the other way; flat = predicted or real price exactly equal to the reference price (not counted); empty = open. error_pct (outcome_price / predicted_price - 1) * 100. Negative = real price below the prediction. error_flag "check" when |error_pct| > 100 (usually very low-priced stocks or a data problem). Rows are kept, never removed; filter them out if you prefer. model_version daily-fan-v2-30d or rebuilt-daily-fan-v2. data_type live or reconstructed (see above). published_at UTC time the row was written to our database. HOW WE SCORE ------------ Hit rate = hits / (hits + misses) over closed rows with result hit or miss. A coin flip is 50%. We also publish the share of closed predictions where the price actually rose, so you can compare against "always predict up". Look at the median absolute error, not the mean: a few penny stocks have huge errors. FILES ----- predictions__.csv.gz one month of prediction dates, per type (live / reconstructed). predictions__all.csv.gz everything for that type. UTF-8, comma separated, header row, gzip. Updated every night. manifest.json lists sizes, row counts and SHA-256.