File tree Expand file tree Collapse file tree 7 files changed +28
-4
lines changed
test/integration/__snapshots__
test/integration/__snapshots__ Expand file tree Collapse file tree 7 files changed +28
-4
lines changed Original file line number Diff line number Diff line change 1+ ---
2+ ' @chainlink/dxfeed-adapter ' : minor
3+ ' @chainlink/finage-adapter ' : minor
4+ ---
5+
6+ Add mid to stock quotes
Original file line number Diff line number Diff line change @@ -14,6 +14,7 @@ export type BaseEndpointTypes = {
1414 Response : {
1515 Result : null
1616 Data : {
17+ mid_price : number
1718 bid_price : number
1819 bid_volume : number
1920 ask_price : number
Original file line number Diff line number Diff line change @@ -16,12 +16,18 @@ export const transport = buildWsTransport<BaseEndpointTypes>(
1616
1717 const data = message [ 0 ] . data [ 1 ]
1818
19+ const midPrice =
20+ ( Number ( data [ bidPriceIndex ] ) * Number ( data [ bidSizeIndex ] ) +
21+ Number ( data [ askPriceIndex ] ) * Number ( data [ askSizeIndex ] ) ) /
22+ ( Number ( data [ bidSizeIndex ] ) + Number ( data [ askSizeIndex ] ) )
23+
1924 return [
2025 {
2126 params : { base : data [ eventSymbolIndex ] } ,
2227 response : {
2328 result : null ,
2429 data : {
30+ mid_price : midPrice ,
2531 bid_price : Number ( data [ bidPriceIndex ] ) ,
2632 bid_volume : Number ( data [ bidSizeIndex ] ) ,
2733 ask_price : Number ( data [ askPriceIndex ] ) ,
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ exports[`websocket quote endpoint should return success 1`] = `
77 " ask_volume" : 100 ,
88 " bid_price" : 170 ,
99 " bid_volume" : 148 ,
10+ " mid_price" : 170.80645161290323 ,
1011 },
1112 " result" : null ,
1213 " statusCode" : 200 ,
Original file line number Diff line number Diff line change @@ -11,6 +11,7 @@ export type BaseEndpointTypes = {
1111 Response : {
1212 Result : null
1313 Data : {
14+ mid_price : number
1415 bid_price : number
1516 bid_volume : number
1617 ask_price : number
Original file line number Diff line number Diff line change @@ -48,16 +48,23 @@ export const transport = new WebSocketTransport<WsTransportTypes>({
4848 return [ ]
4949 }
5050
51+ const bidPrice = isValidNumber ( message . b ) ? Number ( message . b ) : Number ( message . bp )
52+ const bidVolume = Number ( message . bs )
53+ const askPrice = isValidNumber ( message . a ) ? Number ( message . a ) : Number ( message . ap )
54+ const askVolume = Number ( message . as )
55+ const midPrice = ( bidPrice * bidVolume + askPrice * askVolume ) / ( bidVolume + askVolume )
56+
5157 return [
5258 {
5359 params : { base : message . s } ,
5460 response : {
5561 result : null ,
5662 data : {
57- bid_price : isValidNumber ( message . b ) ? Number ( message . b ) : Number ( message . bp ) ,
58- bid_volume : Number ( message . bs ) ,
59- ask_price : isValidNumber ( message . a ) ? Number ( message . a ) : Number ( message . ap ) ,
60- ask_volume : Number ( message . as ) ,
63+ mid_price : midPrice ,
64+ bid_price : bidPrice ,
65+ bid_volume : bidVolume ,
66+ ask_price : askPrice ,
67+ ask_volume : askVolume ,
6168 } ,
6269 timestamps : {
6370 providerIndicatedTimeUnixMs : message . t ,
Original file line number Diff line number Diff line change @@ -7,6 +7,7 @@ exports[`stock quotes websocket stock quotes endpoint missing a and b fields sho
77 " ask_volume" : 11 ,
88 " bid_price" : 12 ,
99 " bid_volume" : 13 ,
10+ " mid_price" : 11.083333333333334 ,
1011 },
1112 " result" : null ,
1213 " statusCode" : 200 ,
@@ -25,6 +26,7 @@ exports[`stock quotes websocket stock quotes endpoint should return success 1`]
2526 " ask_volume" : 6 ,
2627 " bid_price" : 7 ,
2728 " bid_volume" : 8 ,
29+ " mid_price" : 6.142857142857143 ,
2830 },
2931 " result" : null ,
3032 " statusCode" : 200 ,
You can’t perform that action at this time.
0 commit comments