@@ -50,10 +50,6 @@ public class SecurityQuote {
5050 @ Schema (description = "Инструмент" , example = "NL0009805522" , required = true )
5151 private final String security ;
5252
53- @ NotNull
54- @ Schema (description = "Тип" , example = "STOCK" , required = true )
55- private final SecurityType securityType ;
56-
5753 @ NotNull
5854 @ Schema (description = "Время" , example = "2021-01-01T19:00:00+03:00" , required = true )
5955 private final Instant timestamp ;
@@ -82,9 +78,9 @@ public class SecurityQuote {
8278 */
8379 @ JsonIgnore
8480 @ Schema (hidden = true )
85- public BigDecimal getCleanPriceInCurrency () {
86- if (securityType == DERIVATIVE ) {
87- return price ;
81+ public BigDecimal getCleanPriceInCurrency (boolean isDerivative ) {
82+ if (isDerivative ) {
83+ return price ; // for future and option always use price, also in case of price == null
8884 } else if (price == null && accruedInterest == null ) {
8985 return quote ; // for stocks, currency pairs, asset
9086 } else {
@@ -97,8 +93,8 @@ public BigDecimal getCleanPriceInCurrency() {
9793 */
9894 @ JsonIgnore
9995 @ Schema (hidden = true )
100- public BigDecimal getDirtyPriceInCurrency () {
101- BigDecimal cleanPrice = getCleanPriceInCurrency ();
96+ public BigDecimal getDirtyPriceInCurrency (boolean isDerivative ) {
97+ BigDecimal cleanPrice = getCleanPriceInCurrency (isDerivative );
10298 return (cleanPrice == null || accruedInterest == null ) ? cleanPrice : cleanPrice .add (accruedInterest );
10399 }
104100}
0 commit comments