关注此问题股票期权的价格变化(买/卖)
我希望模拟的价格变化,而用户给予买入或卖出,像真正的证券交易所的顺序。 (我做一个用户的情况下,帮助你理解。)
初始状态“股票期权例如”:
X公司的股票期权的价格$ 20,000个
一个cron任务使得价格变异每一秒,这个PHP脚本:
function stockVariation($price,$max_up,$max_down)
{
// Variation calculate, with volatility max (10 to 100)
$ratio=(mt_rand(0,$max_up)-mt_rand(0,$max_down))/10000;
// New price
$price+=$ratio;
return round($price,5);
}
波动是随机的消息,这使得$ max_up> $ max_down或$ max_up < max_down一个随机的时间制作。在$ max_up = $ max_down之间。
结果中的图片(以分钟为1小时)
用户的情况下 “购买例如”:
- 用户发送订单为$ 18,000名
- 的买1000这个选项系统将订单存储在数据库中
- CRON任务每分钟核实一次,如果价格为< =购买订单,最后一分钟
- 当此选项的价格< =此订单时,用户获得此股票期权。
用户案例 “卖例如”:
- 用户发送订单为$ 22,000名
- 系统存储以出售1000这个选项的数据库
- 一个cron任务验证每一分钟,如果价格> =卖出订单,最后一分钟
- 当此选项的价格> =此订单时,用户出售此股票期权。
我的问题
它工作正常,但它不是一个交易所市场的真正变化。
我的问题
如何使通过订单的价格和数量的变化的价格?
就像“供求规律”一样。
例如(关于彼得回答编辑):
function stockOrder($orderPrice,$orderQuantity,$type)//$type= buy or sell
{
// Record the order in database (ok)
// Compare with other orders (ok)
// $orderPrice<=$dbSellPrice or $orderPrice>=$dbBuyPrice
if checks
// Buy and sell at the best prices
// for quantities available holded by users (ok)
// Record/update the holding of the stock (ok)
// Update the price of the stock
end if
}
也许我疯了,一点点地认为,它可能是能够使自动化,但我相信它,任何帮助将不胜感激。
我不想让我的代码被写入,我只是想在这个数学函数上有一些帮助!非常感谢您的投票,我的问题已经很好地形成和清晰。你的评论真的没有意思! – Valky 2012-02-21 14:46:28
而你删除了它...... ^^ – Valky 2012-02-21 14:47:34
只是有些想法:看起来你打算用'buyOrder()'和'sellOrder()'函数来定价,这意味着它们是有效的限价单。考虑到这一点,逻辑应该是这样的:在收到给定价格的订单后,在数据库中搜索相应的“匹配”订单,并以“正确”的价格完成订单,即在每个订单。然后执行订单,从数据库中删除条目并更新最后售出的价格。 – Peter 2012-02-21 15:32:51