Automatischer Push: 14 Datei(en) geändert

- .vault-tools/plan-kopie/LIESMICH.md
- .vault-tools/plan-kopie/rot_nachweis.py
- .vault-tools/trading-plattform-pruefung/LIESMICH.md
- .vault-tools/trading-plattform-pruefung/dienste_stand.sh
- .vault-tools/trading-plattform-pruefung/ha_einrichten.py
- .vault-tools/trading-plattform-pruefung/hole_kerzen.py
- .vault-tools/trading-plattform-pruefung/neustart_echtlauf.py
- .vault-tools/trading-plattform-pruefung/ntfy_lesen.py
- .vault-tools/trading-plattform-pruefung/pause_echtlauf.py
- .vault-tools/trading-plattform-pruefung/wiederanlauf_probe.ps1
- AI/Regelwerk/codeworkflow.md
- AI/Regelwerk/projekte.md
- … und 2 weitere

Erzeugt vom PostToolUse-Hook .vault-tools/auto-push/auto_push.py.

Co-Authored-By: Claude Opus 5 <[email protected]>
This commit is contained in:
Pascal MichelandClaude Opus 5 committed 2026-09-21 04:00:01 +02:00
1 parent 395642c480
commit 246af19683
14 files changed
+964 -7

No files matched your search

@@ -0,0 +1,48 @@
"""Holt die echten IEX-Minutenkerzen eines Handelstags und legt sie als JSON ab. Nur lesend.
Koordinator-Werkzeug, nicht Teil des Repos. Der einzige Netzzugriff ist der lesende Kerzenabruf
bei Alpaca; ausgegeben werden Anzahl und Eckkurse, nie ein Schluessel. Die Datei ist die Eingabe
fuer neustart_echtlauf.py. Entstanden in der Abschlusspruefung zu Paket F (2026-09-20).
Aufruf (WSL, aus dem Projektordner): python hole_kerzen.py JJJJ-MM-TT <ziel.json>
"""
import json
import sys
from datetime import datetime
from pathlib import Path
sys.path.insert(0, str(Path.cwd()))
from trading.paper.config import lade_paper_config
from trading.paper.kerzen import HANDELSZONE
from trading.paper.kerzen import AlpacaKerzenquelle
from trading.paper.kerzen import handelsende
def main() -> int:
datum, ziel = sys.argv[1], Path(sys.argv[2])
config = lade_paper_config("config/paper.toml")
mitternacht = datetime.strptime(datum, "%Y-%m-%d").replace(tzinfo=HANDELSZONE)
quelle = AlpacaKerzenquelle.from_secrets("config/secrets.toml", feed=config.feed, timeout=20.0)
kerzen = quelle.kerzen_des_tages(config.instrument_id, handelsende(mitternacht))
ziel.write_text(
json.dumps(
[
{"zeit": k.zeit.isoformat(), "open": k.open, "high": k.high,
"low": k.low, "close": k.close, "volume": k.volume}
for k in kerzen
]
),
encoding="utf-8",
)
print(f"{datum}: {len(kerzen)} Kerzen in {config.instrument_id} nach {ziel}")
if kerzen:
kurse = [k.close for k in kerzen]
print(f" erste {kerzen[0].zeit.isoformat()} Schluss {kurse[0]}, "
f"letzte {kerzen[-1].zeit.isoformat()} Schluss {kurse[-1]}, "
f"Tief {min(kurse)}, Hoch {max(kurse)}")
return 0 if kerzen else 2
if __name__ == "__main__":
sys.exit(main())