Skip to main content

API Integration

Overview

Merlin integrates with two APIs to provide its strategy and portfolio optimization capabilities:

  1. MesoSim API: For option strategy backtesting and data collection
  2. Q-API: For quantitative analysis, statistical testing, and model building

Additionally, Merlin can be used as a library to leverage these APIs in custom applications, providing a convenient interface to their capabilities.

Using Merlin as a Library for API Access

Merlin can be imported as a Python library and use the API helpers located under the deltaray_apis package.

Accessing MesoSim API

from merlin.deltaray_apis.mesosim_api import run_job, list_backtests, get_backtest_events

# Configure API access
mesosim_instance = "https://portal.example-customer.mesosim.io"
api_key = "your-api-key"

# Submit a backtest (v3 StrategyDefinition)
strategy_definition = {...}
backtest_id, analytics = run_job(mesosim_instance, api_key, strategy_definition)

# List backtests (optional)
from datetime import datetime, timedelta
runs = list_backtests(
mesosim_instance,
api_key,
start=datetime.utcnow() - timedelta(days=7),
end=datetime.utcnow(),
page=0,
include_analytics=True,
status="Finished",
)

# Get backtest events
events = get_backtest_events(mesosim_instance, api_key, backtest_id)

Accessing Q-API

from merlin.deltaray_apis.q_api import cramers_v, sets_model, optimize_portfolio

# Configure API access
q_api_instance = "https://q-api.example-customer.mesosim.io"
api_key = "your-api-key"

# Run Cramér's V test
features_df = ... # DataFrame with features and target
cramers_results = cramers_v(
q_api_instance,
api_key,
features_df,
"StrategyNAV",
feature_grouping="tails",
bins_or_tails=0.1,
target_grouping="bins",
target_bins=3
)

# Build SETS model
model_config = {...} # SETS model configuration
model_results = sets_model(q_api_instance, api_key, features_df, model_config)

# Optimize portfolio
portfolio_config = {...} # Portfolio optimization configuration
portfolio_results = optimize_portfolio(q_api_instance, api_key, strategies_df, portfolio_config)