{
  "generated_at_utc": "2026-03-27T17:56:09.451698+00:00",
  "prices_csv": "/opt/bots/neptunus_monitor/data/prices.csv",
  "events_csv": "/opt/bots/neptunus_monitor/data/events.csv",
  "prices_analysis": {
    "total_rows": 477,
    "overall": {
      "first_timestamp": "2026-03-27T09:56:44.287352+00:00",
      "last_timestamp": "2026-03-27T17:55:17.377700+00:00",
      "first_price": 67768.8,
      "last_price": 65645.35,
      "high": 67768.8,
      "low": 65598.02,
      "range_pct": 3.309216,
      "net_change_pct": -3.133374,
      "max_up_step_pct": 0.351253,
      "max_down_step_pct": -0.562215
    },
    "daily": {
      "2026-03-27": {
        "rows": 477,
        "open": 67768.8,
        "close": 65645.35,
        "high": 67768.8,
        "low": 65598.02,
        "range_pct": 3.309216,
        "max_up_step_pct": 0.351253,
        "max_down_step_pct": -0.562215
      }
    }
  },
  "events_analysis": {
    "total_rows": 93,
    "rule_counts": {
      "BUY_STD": 91
    },
    "daily_rule_counts": {
      "2026-03-26": {
        "BUY_STD": 36
      },
      "2026-03-27": {
        "BUY_STD": 55
      }
    },
    "buy_sell_cycles": {
      "count": 0,
      "avg_return_pct": null,
      "median_return_pct": null,
      "min_return_pct": null,
      "max_return_pct": null,
      "samples": []
    },
    "sell_buy_cycles": {
      "count": 0,
      "avg_move_pct": null,
      "median_move_pct": null,
      "min_move_pct": null,
      "max_move_pct": null,
      "samples": []
    },
    "suggestions": {
      "suggested_std_threshold_pct": null,
      "profitless_dominance": 0,
      "panic_event_count": 0,
      "suggested_thresholds": {
        "std_sell": {
          "value_pct": null,
          "status": "estimated",
          "sample_count": 0,
          "source": "overall_market_move"
        },
        "profitless_sell": {
          "value_pct": null,
          "status": "insufficient_data",
          "sample_count": 0,
          "source": "no_profitless_sell_event"
        },
        "panic_sell": {
          "value_pct": null,
          "status": "insufficient_data",
          "sample_count": 0,
          "source": "no_panic_sell_event"
        },
        "std_buy": {
          "value_pct": null,
          "status": "estimated",
          "sample_count": 0,
          "source": "overall_market_move"
        },
        "profitless_buy": {
          "value_pct": null,
          "status": "insufficient_data",
          "sample_count": 0,
          "source": "no_profitless_buy_event"
        },
        "panic_buy": {
          "value_pct": null,
          "status": "insufficient_data",
          "sample_count": 0,
          "source": "no_panic_buy_event"
        }
      },
      "note": "Ha a PROFITLESS események dominálnak, akkor a profitless szabály túl gyakran aktiválódhat. A becsült értékek kevés adat mellett még csak előzetes javaslatok."
    }
  }
}