from enum import IntEnum
from derivitec.reports.types import ReportsType
from derivitec.core.response import ApiBaseResponse
[docs]
class ReportStatus(IntEnum):
Failed = 2
Running = 3
Null = 0
Succeeded = 1
Warning = 4
[docs]
class ApiReportDataResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
market_data_error_summary=None,
portfolio_id=None,
portfolio_name=None,
report_id=None,
report_name=None,
reporting_currency=None,
status=None,
status_message=None,
tables=None,
time_stamp=None,
user_time_zone_id=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param market_data_error_summary: The market data error summary
:param portfolio_id: The portfolio id
:param portfolio_name: The portfolio name
:param report_id: The report id
:param report_name: The report name
:param reporting_currency: The reporting currency
:param status: The status
:param status_message: The status message
:param tables: The tables
:param time_stamp: The time stamp
:param user_time_zone_id: The user time zone id
"""
self.market_data_error_summary = market_data_error_summary
self.portfolio_id = portfolio_id
self.portfolio_name = portfolio_name
self.report_id = report_id
self.report_name = report_name
self.reporting_currency = reporting_currency
self.status = status
self.status_message = status_message
self.tables = tables
self.time_stamp = time_stamp
self.user_time_zone_id = user_time_zone_id
super(ApiReportDataResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'market_data_error_summary',
'portfolio_id',
'portfolio_name',
'report_id',
'report_name',
'reporting_currency',
'status',
'status_message',
'tables',
'time_stamp',
'user_time_zone_id',
]
params += super(ApiReportDataResponse, self).json_params()
return params
[docs]
class ApiGetReportDataByIdResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
data=None,
error_messages=None,
is_success=None):
"""
:param data: The data
:param error_messages: The error messages
:param is_success: The is success
"""
self.data = data
super(ApiGetReportDataByIdResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'data',
]
params += super(ApiGetReportDataByIdResponse, self).json_params()
return params
[docs]
class ApiGetReportInfosResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
report_infos=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param report_infos: The report infos
"""
self.report_infos = report_infos
super(ApiGetReportInfosResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'report_infos',
]
params += super(ApiGetReportInfosResponse, self).json_params()
return params
[docs]
class ApiReportJobResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
report_id=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param report_id: The report id
"""
self.report_id = report_id
super(ApiReportJobResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'report_id',
]
params += super(ApiReportJobResponse, self).json_params()
return params
[docs]
class ApiGetTimeSeriesResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
time_series=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param time_series: The time series
"""
self.time_series = time_series
super(ApiGetTimeSeriesResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'time_series',
]
params += super(ApiGetTimeSeriesResponse, self).json_params()
return params
[docs]
class ApiVarReportDataResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
market_data_error_summary=None,
portfolio_date_time=None,
portfolio_id=None,
portfolio_name=None,
portfolio_var_statistics=None,
report_id=None,
reporting_currency=None,
report_name=None,
scenario_portfolio_var_statistics=None,
scenarios=None,
status=None,
status_message=None,
time_stamp=None,
tradable_var_statistics=None,
position_infos=None,
user_time_zone_id=None,
error_messages=None,
is_success=None):
"""
:param portfolio_var_statistics: The portfolio var statistics
:param market_data_error_summary: market data error summary
:param portfolio_date_time: portfolio date time
:param portfolio_id: portfolio id
:param portfolio_name: portfolio name
:param portfolio_var_statistics: portfolio var statistics
:param report_id: report id
:param reporting_currency: reporting currency
:param report_name: report name
:param scenario_portfolio_var_statistics: scenario portfolio var statistics
:param scenarios: scenarios
:param status: status
:param status_message: status message
:param time_stamp: time tamp
:param tradable_var_statistics: tradable var statistics
:param position_infos: position infos
:param user_time_zone_id: user time zone id
:param error_messages: error messages
:param is_success: is success
"""
self.market_data_error_summary = market_data_error_summary
self.portfolio_date_time = portfolio_date_time
self.portfolio_id = portfolio_id
self.portfolio_name = portfolio_name
self.portfolio_var_statistics = portfolio_var_statistics
self.report_id = report_id
self.reporting_currency = reporting_currency
self.report_name = report_name
self.scenario_portfolio_var_statistics = scenario_portfolio_var_statistics
self.scenarios = scenarios
self.status = status
self.status_message = status_message
self.time_stamp = time_stamp
self.tradable_var_statistics = tradable_var_statistics
self.position_infos = position_infos
self.user_time_zone_id = user_time_zone_id
self.error_messages = error_messages
self.is_success = is_success
super(ApiVarReportDataResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'market_data_error_summary',
'portfolio_date_time',
'portfolio_id',
'portfolio_name',
'portfolio_var_statistics',
'report_id',
'reporting_currency',
'report_name',
'scenario_portfolio_var_statistics',
'scenarios',
'status',
'status_message',
'time_stamp',
'tradable_var_statistics',
'position_infos',
'user_time_zone_id',
'error_messages',
'is_success'
]
params += super(ApiVarReportDataResponse, self).json_params()
return params
[docs]
class ApiVarReportTimeSeriesDataResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
confidence_level=None,
mkt_data_date=None,
observation_dates=None,
portfolio_name=None,
pricing_date=None,
report_id=None,
reporting_currency=None,
time_stamp=None,
group_labels_by_group_id=None,
time_series_by_group_id=None,
var_horizon=None,
error_messages=None,
is_success=None):
"""
:param confidence_level: confidence level
:param mkt_data_date: market data date
:param observation_dates: observation dates
:param portfolio_name: portfolio name
:param pricing_date: pricing date
:param report_id: report id
:param reporting_currency: reporting currency
:param time_stamp: time tamp
:param group_labels_by_group_id: group labels by id
:param time_series_by_group_id: time series by group id
:param var_horizon: var horizon
:param error_messages: error messages
:param is_success: is success
"""
self.confidence_level = confidence_level
self.mkt_data_date = mkt_data_date
self.observation_dates = observation_dates
self.portfolio_name = portfolio_name
self.pricing_date = pricing_date
self.report_id = report_id
self.reporting_currency = reporting_currency
self.time_stamp = time_stamp
self.group_labels_by_group_id = group_labels_by_group_id
self.time_series_by_group_id = time_series_by_group_id
self.var_horizon = var_horizon
self.error_messages = error_messages
self.is_success = is_success
super(ApiVarReportTimeSeriesDataResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'confidence_level'
'mkt_data_date'
'observation_dates'
'portfolio_name'
'pricing_date'
'report_id'
'reporting_currency'
'time_stamp'
'group_labels_by_group_id'
'time_series_by_group_id'
'var_horizon'
'error_messages'
'is_success'
]
params += super(ApiVarReportTimeSeriesDataResponse, self).json_params()
return params
[docs]
class ApiGetVarReportsDataByIdResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
data=None,
error_messages=None,
is_success=None):
"""
:param data: The data
:param error_messages: The error messages
:param is_success: The is success
"""
self.data = data
super(ApiGetVarReportsDataByIdResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'data',
]
params += super(ApiGetVarReportsDataByIdResponse, self).json_params()
return params
[docs]
class ApiVarReportJobResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
report_id=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param report_id: The report id
"""
self.report_id = report_id
super(ApiVarReportJobResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'report_id',
]
params += super(ApiVarReportJobResponse, self).json_params()
return params
[docs]
class ApiGetReportStatusByIdResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
status=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param report_id: The report id
"""
self.status = status
super(ApiGetReportStatusByIdResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'status',
]
params += super(ApiGetReportStatusByIdResponse, self).json_params()
return params
[docs]
class ApiGetVarReportInfosResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
report_infos=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param report_infos: The report infos
"""
self.report_infos = report_infos
super(ApiGetVarReportInfosResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'report_infos',
]
params += super(ApiGetVarReportInfosResponse, self).json_params()
return params
[docs]
class ApiGetPnlReportsDataByIdResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
data=None,
error_messages=None,
is_success=None):
"""
:param data: The data
:param error_messages: The error messages
:param is_success: The is success
"""
self.data = data
super(ApiGetPnlReportsDataByIdResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'data',
]
params += super(ApiGetPnlReportsDataByIdResponse, self).json_params()
return params
[docs]
class ApiGetPnlReportInfosResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
report_infos=None,
error_messages=None,
is_success=None):
"""
:param report_infos: The report infos
:param error_messages: The error messages
:param is_success: The is success
"""
self.report_infos = report_infos
super(ApiGetPnlReportInfosResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'report_infos',
]
params += super(ApiGetPnlReportInfosResponse, self).json_params()
return params
[docs]
class ApiExportReportToExcelResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
download_url=None,
error_messages=None,
is_success=None):
"""
:param download_url: The downlod id
:param error_messages: The error messages
:param is_success: The is success
"""
self.download_url = download_url
super(ApiExportReportToExcelResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'download_url',
]
params += super(ApiExportReportToExcelResponse, self).json_params()
return params
[docs]
class ApiRiskReportJobResponse(ApiBaseResponse, ReportsType):
[docs]
def __init__(self,
error_messages=None,
is_success=None,
report_id=None):
"""
:param error_messages: The error messages
:param is_success: The is success
:param report_id: The report id
"""
self.report_id = report_id
super(ApiRiskReportJobResponse, self).__init__(
error_messages=error_messages,
is_success=is_success)
def json_params(self):
params = [
'report_id',
]
params += super(ApiRiskReportJobResponse, self).json_params()
return params