远期和期货价格的确定
5.1 Explain the relationship between forward and future from the perspective of interest rates.
从利率的角度解释远期和期货的关系。
答:在未来利率不存在不确定的情况下,具有某一交割日合约的远期价格理论上与该交割日合约的期货价格相等。
当利率变化无法预测时,远期价格和期货价格不相等,至于两者谁高则取决于标的资产价格与利率的相关性。
当标的资产与利率呈正相关时,期货价格高于远期价格;
相反,当标的资产价格与利率呈负相关性时,远期价格就会高于期货价格。
1、远期是合约双方承诺在将来某一天以特定价格买进或卖出一定数量的标的物
(标的物可以是大豆、铜等实物商品,也可以是股票指数、债券指数、外汇等金融产品)
期货是标准化的远期合约。两种合约都是契约交易,均为交易双方约定为未来某一日期以约定价格买或卖一定数量商品的契约。
2、它们的区别在于:
1)交易场所不同。期货合约在交易所内交易,具有公开性,而远期合约在场外进行交易。
2)合约的规范性不同。期货合约是标准化合约,除了价格,合约的品种、规格、质量、交货地点、结算方式等内容者有统一规定。远期合约的所有事项都要由交易双方一一协商确定,谈判复杂,但适应性强。
3)交易风险不同。期货合约的结算通过专门的结算公司,这是独立于买卖双方的第三方,投资者无须对对方负责,不存在信用风险,而只有价格变动的风险。远期合约须到期才交割实物、货款早就谈妥不再变动,故无价格风险,它的风险来自届时对方是否真的前来履约,实物交割后是否有能力付款等,即存在信用风险。
4)保证金制度不同。期货合约交易双方按规定比例缴纳保证金,而远期合约因不是标准化,存在信用风险,保证金或称定金是否要付,付多少,也都由交易双方确定,无统一性。
5)履约责任不同。期货合约具备对冲机制、履约回旋余地较大,实物交割比例极低,交易价格受最小价格变动单位限定和日交易振幅限定。远期合约如要中途取消,必须双方同意,任何单方面意愿是无法取消合约的,其实物交割比例极高。
5.2 Suppose that you enter into a 6-month forward contract on a non-dividend-paying stock when the stock price is $30 and the risk-free interest rate (with continuous compounding)is 12%per annum. What is the forward price?
假设你为一只不支付股息的股票签订了一份6个月的远期合约,股票价格为30美元,无风险利率(连续复利)为每年12%。 远期价格是多少?
答:远期价格F0 ==30xe^(0.12*0.5)=31.86(美元)
T年期无风险利率为r,合约价格为
,到期日为T
资产
远期/期货价格 具有交割价K的多头远期合约的价值 不提供收入 提供已知收入的现值Ⅰ 提供已知收益率q
5.3 A 1-year long forward contract on a non-dividend-paying stock is entered into when the stock price is $40 and the risk-free rate of interest is 10% per annum with continuous compounding.
(a) What are the forward price and the initial value of the forward contract?
(b) Six months later, the price of the stock is $45 and the risk-free interest rate is still 10%. What are the forward price and the value of the forward contract?
5.3当股票价格为40美元,无风险利率为每年10%,连续复利时,签订为期1年的无股息股票远期合同。
(a)期货合约的远期价格和初始价值是什么?
(b) 6个月后,股票价格为45美元,无风险利率仍为10%。期货合约的价格和价值是什么?
答:(a)远期价格F0=40e^(0.1*1)=44.21
远期合约的初始价值为零
(b) 远期价格45e^(0.1*0.5)=47.31
远期合同价值f=45-44.21e^(-0.1*0.5)=2.95
资产
远期/期货价格 具有交割价K的多头远期合约的价值 不提供收入
5.4 The risk-free rate of interest is 7% per annum with continuous compounding, and the dividend yield on a stock index is 3.2% per annum. The current value of the index is 150.What is the 6-month futures price?
5.4无风险利率为每年7%的连续复利,股票指数的股息收益率为每年3.2%。 当前索引值为150。 6个月期货价格是多少?
答:
股指期货价格==150e^(0.07-0.032)*0.5=152.88
提供已知收益率q
5.5 The 2-month interest rates in Switzerland and the United States are, respectively, 2% and5% per annum with continuous compounding. The spot price of the Swiss franc iss0.8000. The futures price for a contract deliverable in 2 months is $0.8100. What arbitrage opportunities does this create?
5.5按连续复利计算,瑞士和美国的两个月利率分别为每年2%和5%。瑞士法郎的现货价格为0.8000。2个月后交割的期货价格为0.8100美元。这将创造什么样的套利机会?
答:理论期货价格: 0.8000×e[(0.05-0.02)×2/12]=0.8040美元<0.8100美元,
实际期货价格更高,这意味着套利者应该买入瑞士法郎并做空瑞士法郎期货。
期货做空
做空是指预期未来行情下跌,将手中标准合约按价格卖出,待行情跌后买进,获利差价利润。
期货实行的是保证金机制,交易的是商品的标准合约而不是商品本身。
所以期货中只需有一定的保证金就可以根据需要直接买卖商品的合约。
而做空就是在预计商品价格要走低的情况下,直接卖出商品合约的操作。
因为我们卖出的是未来特定时间交割的商品合约,所以只要在到期日之前履约即可,卖出时手中不必有相应的合约。
履约的手段分为对冲和交割,对冲即买入等量的合约平仓,交割则是拿出符合标准的实物商品。
期货交易简单的说就是涉及三个东西:一份合约,买(合约或实际货物),卖(合约或实际货物)。
如果在合约中是买方,那么合约履行之后,卖掉(合约或实际货物),就完成了一次或赚或赔的交易,
而如果在合约中是卖方,就要在合约履行前或履行过程中,买到(合约或实际货物)或把已拥有的(合约或实际货物)拿去卖,就也完成一次或赚或赔交易。
保证金(通常是交易金额的10%)用来确保买家必须要以合约价在合约期限中买,卖家必须要以合约价在合约期限中卖。
期货做空说白了就是在合约中做卖方,想要完成高卖低买的交易行为。
以豆粕为例,我们来做一次期货做空的模拟交易。
这交易的过程是这样的,你先约定了一份合约(先不管你是和谁签订了合约),
这合约里面的约定价格是3800元/吨(你是卖家),合约是有履行时间期限的,比如说是六个月。
在这六个月之间,如果豆粕价格下降了,降到3500元/吨,
假如你在合约中是卖方,你的合约中又已经约定好了在这六个月之间你随时可以以3800元/吨的价格将这份合约履行,
这时你就可以买来市场上3500元/吨的豆粕或合约,卖给合约中的买家,这样你完成了一次做空的交易了。
期货市场中空方投机一般是看准了某期货品种价格将下跌,就在合约中作高价卖出的卖方,价格下跌了,就可以高卖低买获利了。
期货市场中空方人为操作投机一般是基于这样的原理:
先调动各种力量推高某期货品种的价格,造成此期货品种即将上涨的虚假态势,然后与多方签订高价合同,
是否可以在所有delayed_job任务之前运行一个方法?基本上,我们试图确保每个运行delayed_job的服务器都有我们代码的最新实例,所以我们想运行一个方法来在每个作业运行之前检查它。(我们已经有了“check”方法并在别处使用它。问题只是关于如何从delayed_job中调用它。) 最佳答案 现在有一种官方方法可以通过插件来做到这一点。这篇博文通过示例清楚地描述了如何执行此操作http://www.salsify.com/blog/delayed-jobs-callbacks-and-hooks-in-rails(本文中描述
我有一个bash脚本,它运行一个ruby脚本来获取我的Twitter提要。##/home/username/twittercron#!/bin/bashcd/home/username/twitterrubytwitter.rbfriends命令行运行成功/home/username/twittercron但是当我尝试将它作为cronjob运行时,它运行了但无法获取提要。##crontab-e*/15*****/home/username/twittercron脚本已经chmod+x。不知道为什么会这样。有什么想法吗? 最佳答案
我正在尝试在RVM环境中运行10.5的旧PPC机器上运行一个简单的ruby脚本。在SO上搜索,我遵循了这个post中选择的答案.这是cron中的结果行:SHELL=/bin/bash00****BASH_ENV=~/.bash_profile&&/bin/bash-c'~/deggy/onlineGW.rb'此命令在用户sam的根目录下的Bash中运行良好。这是我脚本的重要部分:#!/usr/bin/envrubyrequire'open-uri'require'nokogiri'...这是cron的错误输出:X-Cron-Env:X-Cron-Env:X-Cron-Env:X-C
我实在是无计可施了。我不明白为什么它不起作用。我创建了一个类,我使用rake命令对其进行调用和排队。当我使用“rakejobs:work”运行worker并调用命令“rakeget_updates”时,它执行得很好。但是,当我将worker作为守护进程运行时(RAILS_ENV=productionbin/delayed_jobstart)并调用命令“rakeget_updates”时,它会产生错误。app/workers/get_updates.rbclassGetUpdatesdefperformbeginning=Time.nowincludeSoapHelperrequire'
我正在使用DelayedJob,我想更新我的Rails4.2应用程序以使用ActiveJob。问题是我有一堆看起来像这样的自定义作业:AssetDeleteJob=Struct.new(:user_id,:params)dodefperform#codeend#moremethodsn'stuffend然后在某处的Controller中,作业使用以下语法排队:@asset_delete_job=AssetDeleteJob.new(current_admin_user.id,params)Delayed::Job.enqueue@asset_delete_job我想找到ActiveJo
我尝试每天在我的Rails应用程序中自动记录一些数据。我想知道是否有人知道一个好的解决方案?我找到了https://github.com/javan/whenever,但我想确保在选择之前了解所有选项。谢谢!艾略特 最佳答案 我真的很喜欢whenever-这是一个很棒的Gem,我已经在生产中使用了它。关于它还有一个很好的Railscasts插曲:http://railscasts.com/episodes/164-cron-in-ruby 关于ruby-on-rails-rails3中c
我知道我们可以做到:sidekiq_optionsqueue:"Foo"但在这种情况下,Worker只分配给一个队列:“Foo”。我需要在特定队列中分配作业(而不是worker)。使用Resque很容易:Resque.enqueue_to(queue_name,my_job)另外,为了并发问题,我需要限制每个队列的Worker数量为1。我该怎么做? 最佳答案 您可能会使用https://github.com/brainopia/sidekiq-limit_fetch然后:Sidekiq::Client.push({'class'=>
🎉精彩专栏推荐💭文末获取联系✍️作者简介:一个热爱把逻辑思维转变为代码的技术博主💂作者主页:【主页——🚀获取更多优质源码】🎓web前端期末大作业:【📚毕设项目精品实战案例(1000套)】🧡程序员有趣的告白方式:【💌HTML七夕情人节表白网页制作(110套)】🌎超炫酷的Echarts大屏可视化源码:【🔰Echarts大屏展示大数据平台可视化(150套)】🔖HTML+CSS+JS实例代码:【🗂️5000套HTML+CSS+JS实例代码(炫酷代码)继续更新中…】🎁免费且实用的WEB前端学习指南:【📂web前端零基础到高级学习视频教程120G干货分享】🥇关于作者:💬历任研发工程师,技术组长,教学总监;
我是一个尝试使用delayed_job的NOOB。我想在使用延迟作业成功发送邮件后更新用户模型。发送邮件:UserMailer.delay.welcome_email(user)如果邮件发送成功,请执行以下操作:User.update_attributes(:emailed=>true)邮件发送成功后如何回调或触发? 最佳答案 您需要创建一个Job对象而不是调用#delay帮助程序。您可以使用successHook来执行回调。classWelcomeEmailJob 关于ruby-on-
我在运行多个工作器的设置中使用延迟作业。就我的问题而言,这并不重要,但假设我有10个worker(目前在开发模式下这样做)。我遇到的问题是两个不同的工作人员有时会开始处理同一个工作,调用我的工作对象的perform方法。据我所知,DelayedJob正在使用悲观锁定来防止这种情况发生,但有时它似乎仍然有足够的时间在第一个worker有时间实际锁定它之前锁定它。我只是想看看有没有其他人遇到过这个问题,或者是我的设置有问题。我正在使用Postrgres,这发生在我的开发机器和我托管它的Heroku上。我会尝试在我的工作中解决这个问题,但发生这种情况仍然有点问题。理想情况下,延迟作业永远不会