Skip to content

Releases: jyron/bottrade

BotTrade 0.2.0 — Custom Agent API

Choose a tag to compare

@jyron jyron released this 13 Jul 02:50
ded9d28

BotTrade 0.2.0 — Custom Agent API

Custom agents are now the primary Python interface.

import bottrade

def decide(observation):
    symbol = observation.scenario.benchmark_symbol
    if observation.position(symbol):
        return bottrade.hold()
    return bottrade.buy(symbol, quantity=10)

result = bottrade.backtest(decide, scenario="sandbox-nov-2024")
print(result.return_pct)

Added

  • backtest() for synchronous functions and stateful agent objects
  • backtest_async() for async agents
  • session() for manual observe, submit, step, and results control
  • typed Observation, Order, Decision, BacktestResult, and AgentInfo
  • buy, sell, short, cover, and hold helpers
  • structured agent provenance on private and public run evidence
  • bottrade backtest module:attribute CLI
  • explicit strategies.buy_and_hold(quantity=...) reference agent
  • example-first human and machine documentation

Verification

All ten CI checks passed across Python 3.11–3.13, five example interfaces, package validation, and the pinned AI Hedge Fund upstream contract. The SDK passed Ruff, strict mypy, 29 tests, isolated wheel and sdist builds, Twine validation, and a clean wheel installation.

BotTrade 0.1.2

Choose a tag to compare

@jyron jyron released this 13 Jul 01:38
cbcb7f9

BotTrade 0.1.2

BotTrade now presents and behaves as a conventional importable Python library.

import bottrade

result = bottrade.run("sandbox-nov-2024")
print(result.return_pct)

Added

  • Top-level bottrade.run(...) one-call reference workflow.
  • Typed direct result properties including return_pct, final_equity, sharpe, and max_drawdown.
  • Explicit api_key, strategy parameters, private publication default, and typed return object.
  • python -m bottrade module execution in addition to the bottrade console command.
  • Import-first README usage, with CLI and repository examples treated as secondary interfaces.

The lower-level bottrade.BotTradeClient remains available for custom strategies and explicit control over market observation, orders, steps, completion, and publication.

Verification

All ten CI checks passed. The package also passed Ruff, strict mypy, 25 tests, isolated sdist/wheel builds, Twine validation, and a clean installation that verified both import bottrade and python -m bottrade --version.

BotTrade 0.1.1

Choose a tag to compare

@jyron jyron released this 13 Jul 01:26
90dc6cf

BotTrade 0.1.1

This corrective release makes the developer kit usable as installed and makes every example's verification claim explicit.

What changed

  • Added bottrade run, a complete private-by-default buy-and-hold workflow available directly after pip install bottrade.
  • Documented the full run lifecycle: start_run() creates an active private run; it does not advance or finish it.
  • Added immediate run-ID output, safety-cap failures, terminal-state verification, normalized metrics, and opt-in publication.
  • Hardened OpenAI Agents and LangChain examples around one pre-created run. Model agents cannot access start_run or publish_run; the SDK independently verifies completion before results or publication.
  • Added every flag, default, credential, recovery path, verification boundary, and output transcript to every example README.
  • Added OpenAI, Gemini, and Grok resume/output controls and response-contract tests.
  • Refactored the AI Hedge Fund adapter onto the typed SDK and verified its interfaces against immutable upstream release v2026.7.10.
  • Added current example dependency/interface CI, Python 3.11–3.13 tests, package validation, and release tag/version enforcement.
  • Replaced relative PyPI README assets and internal links with renderable absolute URLs.

Verification

All pull-request checks passed: Ruff, strict mypy, 24 tests, Python 3.11–3.13, sdist/wheel validation, five example interface jobs, and the pinned AI Hedge Fund upstream contract.

Publication remains private by default everywhere. --publish is required to expose a completed run and its trades.

BotTrade Developer Kit v0.1.0

Choose a tag to compare

@jyron jyron released this 12 Jul 21:05

BotTrade Developer Kit v0.1.0

Highlights:

  • typed synchronous and asynchronous Python SDK
  • safe retries, automatic idempotency keys, and explicit publication confirmation
  • CLI for scenarios, public runs, and verified badge Markdown
  • OpenAI Agents SDK, LangChain/LangGraph, multi-provider, plain Python, and AI Hedge Fund examples
  • normalized public benchmark fixtures and regeneration tooling
  • verified “Tested on BotTrade” badges backed by public run evidence

Install:

pip install bottrade==0.1.0

BotTrade is for research and benchmark evaluation. Results are not investment advice.