金融工程知识学习——限价单、止损单、市价单

限价单

是一种以等同或低於指定价格买进特定数量股票的委托单,或一种以等同或高於指定价格(称为限定价格)卖出股票的委托单。此类委托单可以确保投资人买进该支股票的价格不会高於指定的价格,同样地,若市价一直未达到所指定的价格,该委托单将不会被执行。

  • 范例
    假设我们在市场交易价为$2.45时递交了一份价格为$2.40的买入限价单。如果此时股票交易价格降至$2.40,则该买入限价单会自动成交。
    假设我们在市场交易价为$4.25时递交了一份价格为$5的卖出限价单。如果此时股票交易价格升至$5,则该卖出限价单会自动成交。

市价单

以市场价格买进或卖出股票的委托单。成交价格通常等同或接近下单时报价,主要视成交速度和该股市场活跃度而定。

停损单

停损卖单所设定的卖出价格低於目前市场价格,它可以保护投资人目前已拥有的利润或避免因价格持续下滑而使损失扩大。此类委托单在市场价格到达或低於指定价格时,会自动转为市价委托单。相反地,停损买单指定的买进价格高於市价,当市价到达或高於指定的价格时,该单即被执行。

  • 范例
    停损买单指定买进价格高於市场价。如果您在市场交易价格为$17时递交了一份价格为$20的停损买单,该订单会在交易价达到$20或以上时转变为市价委托单,并於下一个可成交的价格买进该户票。
    如果您拥有ABC公司市场交易价为$50的股票,并且想避免该股票在未来大幅下滑,您可以递交$48的停损卖单来卖出您所持有的ABC仓位。如果ABC股票市场交易价格到达$48或低於$48时,该委托单将自动转变为市价委托单并於下一个可成交价格卖出该股票。如果下一个可成交价格为$47.90,该委托单会在这个价位卖出。停损卖单可以保护投资人目前已拥有的利润或避免因价格持续下滑而使损失扩大。

限价停损单

一种将停损委托单和限价委托单的特点结合为一体的委托单。当股价达到指定的停损价格时,该委托单会按照指定的价格(或更好的价格)来执行。一旦市价到达指定的停损价格时,限价停损委托单就会转变为以指定的价格(或更好的价格)买进或卖出股票的限价委托单。

范例

假设ABC目前交易价为$40。投资者想要在该股票有大幅上升趋势时买入该股票。该投资者递交了一份停损价$45,限价为$46的限价停损买单。如果ABC市场交易价格超过$45停损价,则该委托单会被自动转换为限价单。只要该股票交易价格低於$46(限价位),该委托单将被成交。如果股票交易价超过$46,该委托单将不会被成交。
限价停损卖单类似於停损卖单,但是委托单将在限价位时成交。例如,法兰克递交了一份停损价$47,限价$45的限价停损卖单。如果股票交易价格达到或低於$47,则该委托单将变为$45的限价卖单。如果股票交易价在法兰克委托单成交前低於$45,该委托单只有在股票交易价重新达到$45时才会成交。

跟踪止损

一种特殊的停损价订单。当证券价格往有利方向发展时,此种订单的停损价以股价为标准追踪该证券的价格并防止投资者遭受突然的损失。

  • 范例
    法兰克以$10买入XYZ股票。他不想在该股票上有超过$2的损失,但仍想继续享有股票上涨的优势。他也不想一直注视著股票价位来锁定收益。则他可以对XYZ股票委托追踪停损单,该股票将在市场价跌过$2的时卖出。
    追踪停损单的益处是两方面的。如果股票价格与法兰克背道而驰,则追踪停损单会在XYZ股票价位到达$8.00时卖出,防止更多地损失。
    但是如果该股票交易价格到达$20, 追踪停损的触发交易价格也会随著股票交易价格上升而提高。在股票交易价为$20时,追踪停损价委托单会在股票交易价低於$18时成交。这样可以帮助他在股价攀升是锁定最大利润。
撮合市价是一个比较复杂的过程,需要考虑市场深度、成交量、当前价格等因素。以下是一个简的 R 代码示例,用于模拟市价的撮合过程: ```R # 假设当前的市场深度数据为 order_book,包含了买和卖的价格和数量信息 # 定义一个函数,用于撮合市价 match_market_buy <- function(price, amount) { # 先找到第一个卖的价格,如果市场上没有卖,返回NA sell_price <- min(order_book$ask_price, na.rm = TRUE) # 如果市场上没有卖,返回NA if (is.na(sell_price)) { return(NA) } # 计算可以成交的数量,即市场上所有卖的数量之和 available_amount <- sum(order_book$ask_amount[order_book$ask_price == sell_price]) # 如果市场上可成交的数量小于买数量,返回NA if (available_amount < amount) { return(NA) } # 计算成交价格 trade_price <- sell_price # 依次撮合所有的卖,直到买数量为0或者市场上的卖数量为0 for (i in 1:nrow(order_book)) { if (order_book$ask_price[i] == trade_price) { if (order_book$ask_amount[i] >= amount) { # 卖数量大于等于买数量,全部成交 order_book$ask_amount[i] <- order_book$ask_amount[i] - amount amount <- 0 break } else { # 卖数量小于买数量,部分成交 order_book$ask_amount[i] <- 0 amount <- amount - order_book$ask_amount[i] } } } # 如果买数量没有完全成交,返回NA if (amount > 0) { return(NA) } # 返回成交价格 return(trade_price) } # 定义一个函数,用于撮合市价 match_market_sell <- function(price, amount) { # 先找到第一个买的价格,如果市场上没有买,返回NA buy_price <- max(order_book$bid_price, na.rm = TRUE) # 如果市场上没有买,返回NA if (is.na(buy_price)) { return(NA) } # 计算可以成交的数量,即市场上所有买的数量之和 available_amount <- sum(order_book$bid_amount[order_book$bid_price == buy_price]) # 如果市场上可成交的数量小于卖数量,返回NA if (available_amount < amount) { return(NA) } # 计算成交价格 trade_price <- buy_price # 依次撮合所有的买,直到卖数量为0或者市场上的买数量为0 for (i in 1:nrow(order_book)) { if (order_book$bid_price[i] == trade_price) { if (order_book$bid_amount[i] >= amount) { # 买数量大于等于卖数量,全部成交 order_book$bid_amount[i] <- order_book$bid_amount[i] - amount amount <- 0 break } else { # 买数量小于卖数量,部分成交 order_book$bid_amount[i] <- 0 amount <- amount - order_book$bid_amount[i] } } } # 如果卖数量没有完全成交,返回NA if (amount > 0) { return(NA) } # 返回成交价格 return(trade_price) } ``` 上述代码中,`order_book` 是一个数据框,包含了当前市场的买和卖的价格和数量信息。`match_market_buy` 函数用于撮合市价,`match_market_sell` 函数用于撮合市价。这两个函数的参数分别是买或卖的价格和数量,返回值是成交价格。 在实际应用中,撮合市价的过程可能比上述代码更为复杂,需要考虑更多的因素。此外,为了实现高效的市场撮合,可能需要使用更为高级的数据结构,如二叉树或堆。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

量化橙同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值