research / wire operation
Run an event study
totalfinance.research.event_study
Measure abnormal returns around dated events under a declared expected-return model (mean-adjusted, market-adjusted, or market model), with explicit session, overlap, and cumulation policies; per-event rows and cumulative abnormal returns, and the average abnormal return by offset with t-statistics. The result is eventStudy(...) verbatim.
| Pack / profiles | research / full, research |
|---|---|
| Default discovery | Opt-in |
| Required capabilities | None |
| Effects / authorization | none / none |
| Cost / cancellation | medium / Do not assume inline interruption |
| Handle-eligible inputs | None |
| Idempotency | not-applicable |
Input schema
{
"type": "object",
"properties": {
"events": {
"type": "array",
"items": {
"type": "object",
"properties": {
"eventId": {
"type": "string",
"minLength": 1
},
"instrumentId": {
"type": "string",
"minLength": 1
},
"eventType": {
"type": "string"
},
"announcedTimestampMs": {
"type": "number"
},
"effectiveTimestampMs": {
"type": "number"
},
"metadata": {
"type": "object",
"additionalProperties": {}
}
},
"additionalProperties": false,
"required": [
"eventId",
"instrumentId",
"eventType",
"announcedTimestampMs"
]
}
},
"returnObservations": {
"type": "array",
"items": {
"type": "object",
"properties": {
"instrumentId": {
"type": "string",
"minLength": 1
},
"tradingSessionDate": {
"type": "string",
"format": "date"
},
"simpleReturn": {
"type": "number"
}
},
"additionalProperties": false,
"required": [
"instrumentId",
"tradingSessionDate",
"simpleReturn"
]
}
},
"marketReturns": {
"type": "array",
"items": {
"type": "object",
"properties": {
"tradingSessionDate": {
"type": "string",
"format": "date"
},
"simpleReturn": {
"type": "number"
}
},
"additionalProperties": false,
"required": [
"tradingSessionDate",
"simpleReturn"
]
},
"description": "Required by the 'market-adjusted' and 'market' models"
},
"eventWindow": {
"type": "object",
"properties": {
"startTradingSessionOffset": {
"type": "integer"
},
"endTradingSessionOffset": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"startTradingSessionOffset",
"endTradingSessionOffset"
]
},
"estimationWindow": {
"type": "object",
"properties": {
"startTradingSessionOffset": {
"type": "integer"
},
"endTradingSessionOffset": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"startTradingSessionOffset",
"endTradingSessionOffset"
],
"description": "Required by 'mean-adjusted' and 'market'; must end strictly before the event window starts"
},
"expectedReturnModel": {
"anyOf": [
{
"type": "object",
"properties": {
"model": {
"const": "mean-adjusted",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"model"
]
},
{
"type": "object",
"properties": {
"model": {
"const": "market-adjusted",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"model"
]
},
{
"type": "object",
"properties": {
"model": {
"const": "market",
"type": "string"
}
},
"additionalProperties": false,
"required": [
"model"
]
}
],
"description": "The serializable models; a 'custom' expected-return function is SDK-only"
},
"sessionPolicy": {
"type": "string",
"enum": [
"announcement-session",
"next-session"
]
},
"overlappingEventPolicy": {
"type": "string",
"enum": [
"reject",
"allow-contaminated"
]
},
"cumulativeConvention": {
"type": "string",
"enum": [
"sum",
"compound"
]
}
},
"additionalProperties": false,
"required": [
"events",
"returnObservations",
"eventWindow",
"expectedReturnModel",
"overlappingEventPolicy"
]
}Output schema
{
"type": "object",
"properties": {
"assumptions": {
"type": "object",
"description": "Applied conventions"
},
"diagnostics": {
"type": "object",
"description": "Engine, method, warnings"
},
"events": {
"type": "array",
"items": {
"type": "object"
}
},
"averageAbnormalReturns": {
"type": "array",
"items": {
"type": "object"
}
}
},
"required": [
"assumptions",
"diagnostics",
"events",
"averageAbnormalReturns"
]
}