期权nd1nd2计算(期权收益计算)
内容导航:
Q1:期权期货BS模型中N(d1)怎么算 ?
实际上B-S模型中的N(d1)和N(d2)实际上指的是正态分布下的置信值,d1={ln(S/X)+[r+(σ^2)/2]*(T-t)}/[σ*(T-t)^0.5],d2=d1-σ*(T-t)^0.5。利用相关数据先计算出d1和d2的值,然后利用正态分布表,找出对应的d1和d2所对应的置信值。
Q2:编写一段c程序,实现多项式的计算,谁能帮我呀,
我可以写个简单的只有+ - * / 幂和括号的多项式的计算
/*
主要是堆栈的应运,把多项式转换为后缀表达式,再计算后缀表达式的值
*/
//中缀表达式转化为后缀表达式的程序
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
typedef struct node
{
char data; int code; int pri;
struct node *link;
}NODE;
struct Tb1
{
char data; int code; int pri;
}opchTb1[]={{'*',1,4},{'/',2,4},{'+',3,2},{'-',4,2},{'(',5,5},{')',6,1},{'\0',7,0},{'#',-1,0}};
NODE *optop;
char num[200], *numtop;
char expStr[200];
void push(char x,int c,int p,NODE **toppt)
{
NODE *q=(NODE *)malloc(sizeof(NODE));
q->data=x;
q->code=c;
q->pri=p;
q->link=*toppt;
*toppt=q;
}
int pop(char *op,int *cp, NODE **toppt)
{
NODE *q=*toppt;
if(*toppt==NULL) return 1;
*op=q->data;
*cp=q->code;
*toppt=q->link;
free(q);
return 0;
}
int expr(char *pos)
{
struct Tb1 *op;
char sop;
int type,code,n,m,i,c;
optop=NULL;
numtop=num;
n=m=0;
c=' ';
push('#',0,0,*optop);
while(1){
while(c==' '||c=='\t') c=*pos++;
if(isalpha(c)){
*numtop++=' ';
while(isalpha(c)||isdigit(c)) {*numtop++=c;c=*pos++;}
if(m) return 1;
m=1;
continue;
}
else {
for(i=0;opchTb1[i].code!=-1&&opchTb1[i].data!=c;i++)
if(opchTb1[i].code==-1) return 3;
op=&opchTb1.[i];
type=opchTb1.[i].code;
c=*pos++;
}
if(type<5){
if(m!=1) return 1;
m=0;
}
if(type==5) n++;
if(type==6){
if(n--==0) return 2;
if(op->pri>optop->pri)
if(op->data=='(') push(op->code,1,*optop);
else push(op->data,op->code,op->pri,*optop);
else{
while(optop!=NULL&&op->pri<=optop->pri) {
pop(&sop,&code,&optop);
if(code<5&&code>0) {
*numtop++=' ';
*numtop++=sop;
}
}
if(op->data=='\0') return(n!=0||(m!=1&&numtop>num))?4:(*numtop='\0');
else if(op->data!=')') push(op->data,op->code,op->pri,&optop);
}
}
}
void main()
{
int d;
printf("please input the string!\n");
gets(expStr);
if((d=expr(expStr))==0) printf("the postfix string is:%s\n",num);
else printf("The string error! the error is:%d\n",d);
getch();
}
//后缀表达式的计算
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define MAXCOLS 80
#define TRUE 1
#define FLASE 0
double eval(char[]);
double pop(struct stack *ps);
void push(struct stack *ps,double x);
int empty(struct stack *ps);
int isdigit(char);
double oper(int,double,double);
void main()
{
char expr[MAXCOLS];
int position=0;
printf("\nPlease input the string:");
while((expr[position++]=getchar())!='\n');
expr[--position]='\0';
printf("%s%s","the original postfix expression is",expr);
printf("\n%f",eval(expr));
getch();
} /*end main*/
/*程序的主要部分eval函数,这个函数只是计算算法的C语言实现,同时考虑了特定的环境和数据的输入*/
/*输出格式。eval调用了一个isdigit函数,它用来判断其参数是不是一个操作数。在函数eval及其调用的*/
/*pop和push例程中都使用了下面的堆栈说明。eval函数在声明后给出*/
struct stack{
int top;
double items[MAXCOLS];
};
double eval(char expr[])
{
int c,position;
double opnd1,opnd2,value;
struct stack opndstk;
opndstk.top=-1;
for(position=0;(c=expr[position])!='\0';position++)
if(isdigit(c)) /*operand--convert the character representation of the digit into double and*/
/*push it onto the stack*/
push(&opndstk,(double)(c-'0'));
else{ /*operator*/
opnd2=pop(&opndstk);
opnd1=pop(&opndstk);
value=oper(c,opnd1,opnd2);
push(&opndstk,value);
} /*end else*/
return(pop(&opndstk));
}/*end eval*/
/*下面的函数在许多C系统中都被预定义为一个宏*/
int isdigit(char symb)
{
return(symb>='0'&&symb<='9');
}
/*函数oper首先检查它的第一个参数是不是一个合法的运算符,如果是,则用另外两个参数来决定运算结果*/
/*对于求幂运算,使用了math.h中定义的函数pow(op1,op2)。*/
double oper(int symb,double op1,double op2)
{
switch(symb){
case '+' : return(op1+op2);
case '-' : return(op1-op2);
case '*' : return(op1*op2);
case '/' : return(op1/op2);
case '$' : return(pow(op1,op2));
default:printf("%s","illegal operation");
exit(1);
}/*end switch*/
}/*end oper*/
double pop(struct stack *ps)
{
if(empty(ps)){
printf("%s","stack underflow");
exit(1);
} /*end if*/
return(ps->items[ps->top--]);
}/*end pop*/
void push(struct stack *ps,double x)
{
ps->items[++(ps->top)]=x;
return;
} /*end push*/
int empty(struct stack *ps)
{
return(ps->top==-1);
}/*end empty*/
Q3:CAD新手,别人画的建筑图,我不知道靠近阳台的主卧室和客厅那有个ND1 ND2分别表示什么
你直接在你心理价位挂单10手就可以了,系统自动撮合成交
Q4:HDR-V1C摄像机工作时有ND1、ND2闪烁是怎么回事
那是因为光线有些强,提示你用中灰滤镜ND1或ND2。
Q5:期权交易的基本风险主要包括哪些?
期权交易的基本风险,笼统地讲可以分为市场风险,流动性风险,操作风险等。这些大概念我认为听名字基本就知道什么意思了,没必要细说。 细说的话,说些期权交易中更实际的注意事项,更有利于风险把控。
1、期权有杠杆属性,又是T+0交易,所以价格波动非常大,除非有很大的把握,否则不要轻易地交易裸期权,最好组合投资。
2、卖期权的话需要缴纳保证金, 当市场价格向不利于自己的方向发展时,需要注意补缴保证金,以免被强平造成损失。
3、买期权虽然说是风险有限,但最大损失是血本无归,一分不剩,这点和股票不同,所以持有权利仓时,如果形势不利时也要及时平仓控制损失。
4、注意行权日期,到期日要行权或平仓,否则期权过期作废,平白丢钱。 当然很多券商的软件都可以实现自动行权,这个功能最好开通。
5、行权时注意计算,以免钱或券不足而违约。上交所ETF50期权认购期权行权,T+2日证券到账,有交易日的时间差,在T+1日如果标的证券向不利于自己的方向波动,需要承担损失。
6、以上风险注意事项都是针对场内期权来说的, 如果参与场外期权,那最重大的就是信用风险,平台或对手方失信的话,那就损失大了。 还有流动性风险,期权在手想平仓时不一定平得掉。场外期权风险非常大,参与一定要慎重,打着期权旗号的骗子很多。
Q6:看跌期权盈利计算
题中这种套利属于期权垂直套利的一种,空头看跌期权垂直套利,即在较低的执行价格卖出看跌期权,同时在较高的执行价格买入到期时间相同的看跌期权。可以这样分析,不考虑其他费用,假定合约到期时,1、恒指价格X下跌到X≤10000点以下,则两份合约都将被执行。总收益=(10200-X)+(X-10000)+(120-100)=220点2、恒指价格10000<X≤10200,则买入的看跌期权将被执行,而卖出的看跌期权不含内涵价值与时间价值。总收益=(10200-X)+(120-100)=10220-X,因为10000<X≤10200,所以20≤总收益<2203、恒指价格X>10200,则两份期权都不含内涵价值与时间价值。总收益=120-100=20点由此可见,空头看跌期权垂直套利的目的就是希望在熊市中获利,其最大可能盈利为(较高的执行价格-较低的执行价格+净权利金)。另外,值得注意的是,这道题本身应该是有问题的。正如分析所见,无论价格如何变动,投资者都稳稳地能有正的收益,这在完全市场条件下是不可能存在的,因为这种完全无风险的套利一旦存在,很快会被投资者发现。问题出在期限相同的情况下,执行价格更高的看跌期权的权利金应该会比执行价格低的要求更高的权利金,这也符合风险与收益对等原则。
Q7:股票期权是什么意思,有哪些风险
股票期权
当交易的标的物不是房子而是股票或交易性开放式指数基金时,这种金融产品就叫“股票期权”。
股票期权风险
作为一种风险管理工具,股票期权相当于为投资者所持有的标的资产上一份保险。比如现在持有甲公司的股票,虽然现在情况还不错,但是担心股价下跌,造成亏损,就可以通过买入认沽期权为自己的股票上一个保险。这就相当于支付一笔权利金,获得了未来以约定的价格卖出甲公司股票的权利,如果将来股价下跌了,仍可以按照原来约定的价格卖出股票,规避了股价下跌的风险。
值得注意的是,个股期权交易还具有杠杆风险、价格波动风险等特定风险。
1、杠杆风险,个股期权交易采用保证金交易的方式,投资者的损失和收益都可能成倍方法,尤其是卖出开仓期权的投资者面临的损失总额可能超过其支付的全部初始保证金以及追加的保证金,具有杠杆性风险。
2、价格波动风险,投资者在参与个股期权交易时,股票现货市场的价格波动、个股期权的价格波动和其他市场风险都可能造成损失。
本文由锦鲤发布,不代表本站立场,转载联系作者并注明出处:/showinfo-1-171703-0.html