import os, requests
API_KEY = os.environ["QCOS_API_KEY"]
BASE = "https://api.softquantus.com"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}
# 5-asset portfolio optimisation
assets = ["AAPL", "MSFT", "NVDA", "GOOG", "AMZN"]
returns = [0.12, 0.15, 0.22, 0.10, 0.18]
risk_matrix = [
[0.04, 0.01, 0.02, 0.01, 0.01],
[0.01, 0.05, 0.02, 0.01, 0.02],
[0.02, 0.02, 0.08, 0.01, 0.02],
[0.01, 0.01, 0.01, 0.03, 0.01],
[0.01, 0.02, 0.02, 0.01, 0.04],
]
# Build QUBO from Markowitz model
# (QCOS handles this mapping internally via QAOA problem_type="portfolio")
resp = requests.post(f"{BASE}/api/v1/algorithms/qaoa/run", headers=HEADERS, json={
"problem_type": "portfolio",
"assets": assets,
"expected_returns": returns,
"covariance_matrix": risk_matrix,
"risk_aversion": 0.5,
"budget": 3, # select 3 of 5 assets
"p_layers": 3,
"shots": 4096,
"backend": "aer_simulator",
})
result = resp.json()
print("Selected assets:", result["selected_assets"])
print("Expected return:", result["expected_return"])
print("Portfolio risk:", result["portfolio_risk"])
print("Sharpe ratio:", result["sharpe_ratio"])