Total Performance with Profit & Loss
Daily trading outcomes per security can be provided to the Omega Point platform. By providing these values per security, all platform features are instantaneously updated and can be used for analysis and reporting using true profit & loss accounting.
Methodology
The platform captures the difference between Profit & Loss data and risk model information as Trading return.
Per Security Dollar P&L - (Modeled Security Factor Attribution + Security Alpha attribution) = Security Trading Attribution
These security P&L values are aggregated, such that
Total Portfolio P&L Return = Factor Returns + Alpha Return + Trading Returns
Upload Position Files with P&L columns
To provide P&L information to the Omega Point Platform via the web app, visit the position uploader and select the CSV or excel file with daily positions and profit & loss columns.
The platform will scan the file and report back on any irregularities. If previous position data was uploaded without P&L data, then the file that includes P&L columns would need to be re-uploaded. Another suggestion would be to create a new portfolio that would be populated with historic data that include P&L.
Providing P&L Through API
Uploading P&L data can be programmatically updated using the Omega Point Developers Platform, using the mutation.uploadPnlDate node (not to be confused with mutation.uploadDailyPnl, which is a node for daily total profit & loss, not per security).
Note, this only updates one date at a time. Please loop through your P&L to supply the platform with each set of daily values.
Upload Query
mutation {
uploadPnlDate(
portfolioId: "port_id",
data: {
date: "2019-06-01",
equities: [
{
id: {ticker: "aapl", mic: "xnas"},
amount: 1000.02
}, {
id: {sedol:"12ABC34"},
amount: 1000.10
}
]
}) {
ok
}
}
Retrieval Query
The query.portfolio.perSecurityPnl node is a way to retrieve the daily, per security profit & loss values that were provided to the platform.
query {
portfolio(id: "port_id") {
perSecurityPnl(from: "2019-06-05", to: "2019-06-30") {
date
equities {
id {
ticker
}
amount
}
}
}
}
Delete Reported P&L
Deleting profit & loss information can be one of two ways:
Supplying new P&L data on a specific date, which would overwrite existing information for provided date
Using the mutation.deletePnlDates node to target a specific date using the
from, to
inputs, or deleting all supplied information by using theallDates: true
input.
mutation {
deletePnlDates(
portfolioId:"port_id"
# target specific dates, using from, to inputs
from: "2019-06-05"
to: "2019-06-30"
# or delete all dates using
allDates:true
){
count
}
}