aboutsummaryrefslogtreecommitdiffstats
path: root/python/api_quotes/quotes.py
diff options
context:
space:
mode:
Diffstat (limited to 'python/api_quotes/quotes.py')
-rw-r--r--python/api_quotes/quotes.py24
1 files changed, 20 insertions, 4 deletions
diff --git a/python/api_quotes/quotes.py b/python/api_quotes/quotes.py
index 7302b411..586320a8 100644
--- a/python/api_quotes/quotes.py
+++ b/python/api_quotes/quotes.py
@@ -1,6 +1,10 @@
from serenitas.ops.trade_dataclasses import Deal
from dataclasses import dataclass, field
import datetime
+from typing import Literal
+
+firmness = Literal["FIRM", "INDICATIVE"]
+asset_class = Literal["CD"]
@dataclass
@@ -12,34 +16,46 @@ class QuoteDetails(Deal, table="markit_quote_details", deal_type=None):
@dataclass
-class Quote(Deal, table="sn_cds_quotes", deal_type=None):
- msg_id: id
- quote_id: text
+class Quote(Deal, table="markit_api_quotes", deal_type=None):
+ quote_id: int
+ asset_class: asset_class
redcode: str
ticker: str
maturity: datetime.date
+ tenor: int
+ running_coupon: int
bid_spread: float
bid_upfront: float
bid_size: float
ask_spread: float
ask_upfront: float
ask_size: float
+ quote_firness: firmness
+ msg_id: str
+ source: str
+ quotetime: datetime
+ quote_source: str
@classmethod
def from_markit_line(cls, line):
return cls(
- msg_id=line["message"]["id"],
+ quote_id=line["quoteId"],
redcode=line["redCode"],
ticker=line["ticker"],
maturity=datetime.date(
line["maturityYear"], line["maturityMonth"], line["maturityDay"]
),
+ tenor=line["tenor"],
+ running_coupon=line["runningCoupon"],
bid_spread=line["bidConventionalSpread"],
bid_upfront=line["bidUpfront"],
bid_size=line["bidSize"],
ask_spread=line["askConventionalSpread"],
ask_upfront=line["askUpfront"],
ask_size=line["askSize"],
+ msg_id=line["message"]["id"],
+ source=line["sourceShortName"],
+ received_date=line["receivedDateTime"],
)
@property