Get Profit & Loss (PNL) Report in Graphql
This query returns a pnl report for selected portfolios on a given date.
GraphQL Query
query GetPLReport {
pl_report(
input: {
report_date: "2024-05-01"
pricing_policy: "com.finmars.standard-pricing:standard"
portfolios: ["Commodity Portfolio"]
}
) {
items {
id
item_type
item_type_name
name
market_value
position_size
}
}
}
Input Highlights
Report Date
report_date: "2024-05-01"
- Snapshot date
- ISO date format
- Required field
PL First Date
pl_first_date: "2024-01-01"
- Snapshot date
- ISO date format
- Required field
- Basically its a "date from"
Report Currency
report_currency: "USD"
- Output currency
- Must exist in the system
Pricing Policy
pricing_policy: "com.finmars.standard-pricing:standard"
- Defines valuation rules
- Uses pricing engine configuration
- Required for valuation
Portfolios
portfolios: ["Commodity Portfolio"]
- List of portfolio user codes
- Supports multiple portfolios
Python Code
import requests
url = "https://<domain_name>/<realm_code>/<space_code>/graphql/"
headers = {
"Authorization": "Bearer <access_token>",
"Content-Type": "application/json"
}
payload = {
"query": """
query GetPLReport {
pl_report(
input: {
report_date: "2024-05-01"
pricing_policy: "com.finmars.standard-pricing:standard"
portfolios: ["Commodity Portfolio"]
}
) {
items {
id
item_type
item_type_name
name
market_value
position_size
}
}
}
"""
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
Notes
- This is not a list query.
- No pagination.
- Uses
inputinstead offilters. - Report queries execute calculations.
