F# 域类型建模

F# 域类型建模,f#,F#,限价有一个小数值。市场价格并不是这样 我如何在F#中对此进行建模 您不能给出Market任何参数: type PriceActionType = | Limit of decimal | Market 您不能给出Market任何参数: type PriceActionType = | Limit of decimal | Market 有两种方法可以实现这一点,但如果你进行领域建模,最好了解所有组成部分,在这种情况下,1)交易者如何看待订单,2)FIX(如果这

限价有一个小数值。市场价格并不是这样

我如何在F#中对此进行建模


您不能给出
Market
任何参数:

type PriceActionType =
    | Limit of decimal
    | Market

您不能给出
Market
任何参数:

type PriceActionType =
    | Limit of decimal
    | Market

有两种方法可以实现这一点,但如果你进行领域建模,最好了解所有组成部分,在这种情况下,1)交易者如何看待订单,2)FIX(如果这是正在使用的)如何看待订单,以及3)你交易的市场如何看待订单。顺便说一句,你可能会发现这个很有用。此外,在F#深跳水中

也就是说,塔米尔的回答应该对你有用,在这里,但我有两点意见。有时最好明确说明类型并使用.NET类型
float
decimal
是F#别名,它们可能指的是强制转换为float的函数。也可以使用“有”和“无”来表示价格。这里有一个版本也包括orderside:

type Price =
    | Limit of Decimal
    | Market

type OrderSide =
    | Buy of Price
    | Sell of Price 
    | ShortSell of Price
您可以这样使用它:
买入(限额10.0M)
卖出市场
。 您还可以这样定义价格:

type Price2 =
    | Limit of Decimal option
    | None

无论哪个版本将帮助您以后进行验证

有两种方法,但如果你进行领域建模,最好了解所有组成部分,在这种情况下,1)交易者如何看待订单,2)FIX(如果使用的是FIX)如何看待订单,3)你交易的市场如何看待订单。顺便说一句,你可能会发现这个很有用。此外,在F#深跳水中

也就是说,塔米尔的回答应该对你有用,在这里,但我有两点意见。有时最好明确说明类型并使用.NET类型
float
decimal
是F#别名,它们可能指的是强制转换为float的函数。也可以使用“有”和“无”来表示价格。这里有一个版本也包括orderside:

type Price =
    | Limit of Decimal
    | Market

type OrderSide =
    | Buy of Price
    | Sell of Price 
    | ShortSell of Price
您可以这样使用它:
买入(限额10.0M)
卖出市场
。 您还可以这样定义价格:

type Price2 =
    | Limit of Decimal option
    | None

无论哪个版本将帮助您以后进行验证

严格地说,市场价格也有一个小数值,如果你买的话,它高于当前价格,如果你卖的话,它低于当前价格。一些市场将通过如上所述的方式将市场价格设定为限价,其他市场将其设定为每日限价。当订单执行时,你会得到一个加权平均价格,一个小数点。你们的市场是如何模拟市场价格的?即,您发送什么来执行市场订单?0英镑的价格。?字符串、空值等?小数点市场,无小数点市场(基本上是期权价值),市场都是可能的。严格来说,市场价格也有小数点,如果你买的话,它高于当前价格,如果你卖的话,它低于当前价格。一些市场将通过如上所述的方式将市场价格设定为限价,其他市场将其设定为每日限价。当订单执行时,你会得到一个加权平均价格,一个小数点。你们的市场是如何模拟市场价格的?即,您发送什么来执行市场订单?0英镑的价格。?字符串、空值等?十进制市场,无市场(基本上是期权价值),市场都是可能的。