Daily Trade Journal
Auto-generates a dated journal entry capturing today's signals, sentiment shifts, and market tone.
// The Problem
What this recipe solves
Keeping a trade journal is one of the highest-value habits in trading and one of the first to slip. This script generates a structured daily entry from live Guavy data so the journal writes itself.
// The Script
Copy, run, ship
Drop this script into your project and run it locally or on a
cron. Set GUAVY_KEY in your
environment, swap the symbols, and go.
# journal.py (run at 5pm daily via cron)
import os, requests
from datetime import date
API = "https://guavy.com/api/v1"
H = {"Authorization": f"Bearer {os.environ['GUAVY_KEY']}"}
WATCHLIST = ["BTC", "ETH", "SOL", "AVAX", "LINK"]
today = date.today().isoformat()
entry = [f"# Trade Journal: {today}\n"]
# Signals
entry.append("## Signals")
for s in WATCHLIST:
a = requests.get(f"{API}/trades/get-current-action/{s}/aggressive", headers=H).json()
entry.append(f"- {s}: {a['action']}")
# Sentiment shifts
entry.append("\n## Sentiment")
for s in WATCHLIST:
d = requests.get(
f"{API}/sentiment/get-sentiment-history/{s}",
headers=H, params={"limit": 2}
).json()["sentiment"]
entry.append(f"- {s}: pos={d[0]['positive']} neg={d[0]['negative']}")
# Market tone
tone = requests.get(f"{API}/newsroom/get-market-summary", headers=H).json()
entry.append(f"\n## Market Tone\n{tone.get('summary', 'N/A')}")
with open(f"journal/{today}.md", "w") as f:
f.write("\n".join(entry))
print(f"Journal entry written: journal/{today}.md")
// Guavy Tools in Play
3 tools, one script
This script calls 3 endpoints from the Guavy REST API. Every data point maps back to the endpoint it came from.
// Keep Exploring
Related recipes
Same API key, different job-to-be-done.
// Get started
Run this recipe in under 2 minutes
Grab a free API key, set it as an env var, and run the script. Free sandbox forever.