股票成本价计算公式
算法相关表的主要字段说明
1)股票表算法相关字段说明(stock)
字段名字段含义
STOCK_CODE 股票代码
CURRENT_AMOUNT 当前数量
……
SUM_BUY_AMOUNT 累计买入数量
SUM_BUY_BALANCE 累计买入金额
SUM_SELL_AMOUNT 累计卖出数量
SUM_SELL_BALANCE 累计卖出金额
COST_PRICE 成本价
2)股票变动表算法相关字段说明(stockreal)
字段名字段含义
STOCK_CODE 股票代码
……
ENTRUST_SELL_AMOUNT 委托卖出数量
REAL_BUY_AMOUNT 回报买入数量
REAL_SELL_AMOUNT 回报卖出数量
REAL_BUY_BALANCE 回报买入金额
REAL_SELL_BALANCE 回报卖出金额
成本和赢亏说明
成本价的算法目前共有三种,分别为买入均价、持仓成本、保本价、摊薄成本价(sp5新增),有关成本价的一些知识说明如下:
1、成本价计算模式支持到个人,即每个客户都可以通过“资金-帐户修改
-资产帐户修改”对成本价计算模式进行设置和调整
(fundaccount.profit_flag)。如果客户的成本价类型(profit_flag)为空,则取系统的成本价类型,即1002开关设置的值。
2、后台每条股份记录(stock)都具有四个字段:sum_buy_amount 累计买
入数量、sum_buy_balance 累计买入金额、sum_sell_amount 累计卖出数量、sum_sell_balance 累计卖出金额。这四个字段对于计算累计买卖后的成本价和盈亏金额非常有用,通常在日终清算时对这四个字段进行相关处理。
3、当日发生交易,产生股份变动记录(stockreal),也具有四个字段:
real_buy_amount 成交买入数量、real_buy_balance 成交买入金额、
real_sell_amount 成交卖出数量、real_sell_balance 成交卖出金额。这四个字段对于计算当日买卖后的成本价和盈亏金额非常有用,通常在回报成交时对这四个字段进行相关处理。
4、每天股份记录同时还有一个成本价字段cost_price,是日终清算时自动根
据买入均价计算得到的,对于成本类型为0的客户,成本价直接取自该字段。
5、系统后台本身不记录股份盈亏金额,查询的时候通过同一个算法(不论
当前客户是哪种成本价计算模式)计算出股份盈亏金额income_balance。
6、当费用比率通过前台程序进行进行修改时,as上缓存的费用(支持设置
在内存数据库的那些表)会自动进行同步,不需要重启AS。目前基准费用设置需要重启AS。
7、3107开关设置的多冻结的值,会对计算当天买入卖出的费用计算和盈亏
中的费用部分产生一定的但较小的影响。
成本价算法
类型0 买入均价
成本价由日终来计算,白天实时成交买入和卖出不影响成本价,不考虑卖出费用;
在200708基线(即是200709推出的sp6升级包)前,cost_price包含了买入费用,以后不再包含买入费用。
【公式】
后台
日终后处理时对成本价字段进行自动设置。
前台显示
cost_price=stock.cost_price
类型1 持仓成本
成本价实时计算,考虑白天实时成交买入,但不考虑白天实时成交卖出;该成本价包含了买入费用,但不考虑卖出费用。
【公式】
后台
日终后处理时对成本价相关字段进行自动设置。
前台显示
=(累计买入金额+回报买入金额)/(累计买入数量+回报买入
数量)
=(sum_buy_balance +real_buy_balance) / (sum_buy_amount+
real_buy_amount)
类型2 保本价
成本价实时计算,考虑白天实时成交买入和卖出,所以白天买入卖出均影响成本价,同时该成本价包含了买入卖出费用;且采用步进算法,计算时步长以1厘为单位。
【公式】
后台
日终后处理时对成本价相关字段进行自动设置。
前台显示
1)成本价需要分步进行步进计算,首先得到一个不包含卖出费用的成本价的起始值cost_price
= (累计买入金额+回报买入金额-累计卖出金额-回报卖出金额)
/ (累计买入数量+回报买入数量-累计卖出数量-回报卖出数量)
=(sum_buy_balance+real_buy_balance-sum_sell_balance-real_
sell_balance)/
(sum_buy_amount+real_buy_amount-sum_sell_amount-
real_sell_amount);
2)计算卖出费用temp_fare,需根据4125配置不同进行计算:4125=1,则为估算方式,费用比例取4126设置
temp_fare =(current_amount + real_buy_amount -
real_sell_amount) * last_price * 0.00000001 * 4126
的配置值
cost_price=(sum_buy_balance+real_buy_balance-sum_s
ell_balance-real_sell_balance)/(1-0.00000001*4126
的配置值)/(current_amount+real_buy_amount-
real_sell_amount)
4125=2,则为预算方式,费用比例取自后台设置的标准费用类别
计算得到temp_fare。
4125=0,则为实算方式,费用比例取自后台设置的客户实际费用
类别计算得到temp_fare。
3)按步长单位进行计算
如果temp_mis=(current_amount + real_buy_amount -
real_sell_amount) *
cost_price-(sum_buy_balance+real_buy_balance-sum_sell_bal
ance-real_sell_balance)- temp_fare < 0
则按成本价步长1厘进行逼近计算,直到temp_mis>=
0.0000000000001,计算结束,此时cost_price即为保本价。
类型3摊薄成本价(sp5新增)
成本价,考虑实时计算考虑白天实时成交买入和卖出,所以白天买入卖出均影响成本价,与保本价区别在于不计算卖出费用。
成本价 = (累计买入金额+回报买入金额-累计卖出金额-回报卖出金额)/ (累计买入数量+回报买入数量-累计卖出数量-回报卖
出数量)
=
(sum_buy_balance+real_buy_balance-sum_sell_balance-real_
sell_balance)/
(sum_buy_amount+real_buy_amount-sum_sell_amount-
real_sell_amount)
盈亏算法
无论选择何种成本价类型,盈亏算法一样,区别在于卖出费用计算部分(针对不同的4125设置),其中标准券888886和200000不计盈亏:
证券市值-累计买入金额-回报买入金额+累计卖出金额+
回报卖出金额-卖出费用
=market_value-(sum_buy_balance+real_buy_balance-sum
_sell_balance-real_sell_balance) –temp_fare 其中temp_fare的计算按price表的最新价(last_price)计算且依赖于开关4125:
开关4125为2,卖出费用进行预算,则按标准费用类别(bfare0)计算后台计算得到temp_fare开关4125=0,或1 则为实算方式,费用比例取自后台设置的客户实际费用类别计算得到temp_fare。
成本赢亏的举例
1)某个客户某天买入000008,10000股,成交价格10元,假设客户对应费用类别的费用比例为0.004,预算费用比例4126设置为0.005,标准费
用比例为0.006(此费用不是9999的费用),目前行情最新价已为11元,则白天成交后,后台stock 和stockreal 表中和成本盈亏相关的字段情况。 白天成交后的stock 和stockreal 表中和成本盈亏相关的字段情况如下:
Stock :
Stockreal :
则选择不同成本类型时的成本价如下:
0成交均价:成本价=cost_price = 0
1持仓成本:成本价=(sum_buy_balance + real_buy_balance) / (sum_buy_amount+
real_buy_amount)=100400/10000=10.040
2保本价:
4125=1,则成本价=
(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_bala nce)/(1-0.005)/(current_amount+real_buy_amount-real_sell_amount)=100400/(1-0.005)/10000=10.090
4125=2 ,成本价在初始的10.040基础上,按步长进行步进计算,直到temp_mis=
(current_amount + real_buy_amount - real_sell_amount ) *
cost_price-(sum_buy_balance+real_buy_balance-sum_sell_balance-re al_sell_balance)- temp_fare =10000×成本价-100400-110000×0.006》= 0为止,得到成本价=10.101
盈亏:=
market_value-(sum_buy_balance+real_buy_balance-sum_sell_bal ance
-real_sell_balance) –temp_fare
4125=2,盈亏=10000×11-100400-10000×11
×0.006 =8940 4125=0或1,盈亏=10000×11-100400 -10000×11×0.004=9160
日终清算后的stock 和stockreal 表中和成本盈亏相关的字段情况如下: Stock :
Stockreal:
0成交均价:成本价=cost_price=10
1持仓均价:成本价=10.040
2保本价:4125=1 则成本价=10.090
4125=2则成本价=10.101
盈亏:4125=2,盈亏=8940
4125=0或1,盈亏=9160
2)假如第二天客户以12元的价格卖出了5000股000008,假设客户对应费用类别的费用比例为0.004,预算费用比例4126设置为0.005,标准费用比例为0.006(此费用不是9999的费用),目前行情最新价已为12元,则白天成交后,后台stock和stockreal表中和成本盈亏相关的字段情况如下:
Stock:
Stockreal:
0成交均价:成本价=cost_price=10
1持仓均价:成本价=10.040
2保本价:
4125=1
则成本价=(100400-59760)/(1-0.005)/5000=8.169
4125=2 ,成本价在初始的8.128基础上,按步长进行步进计算,直到temp_mis=
(current_amount + real_buy_amount - real_sell_amount) *
cost_price-(sum_buy_balance+real_buy_balance-sum_sell_bala
nce-real_sell_balance)- temp_fare》= 0为止,得到成本价=
8.178
盈亏:=
market_value-(sum_buy_balance+real_buy_balance-sum_sell_
balance
-real_sell_balance) –temp_fare
4125=2,盈亏=5000*12-(100400-59760)-5000×12×0.006=19000
4125=0或1,盈亏=5000*12-(100400-59760)-5000×12×0.004=19120
日终清算后的stock和stockreal表中和成本盈亏相关的字段情况如下:
Stock:
Stockreal:
1持仓均价:成本价=10.040
2保本价:
4125=1
则成本价=(100400-59760)/(1-0.005)/5000=8.169
4125=2 ,成本价在初始的8.128基础上,按步长进行步进计算,直到temp_mis=(current_amount + real_buy_amount - real_sell_amount) *
cost_price-(sum_buy_balance+real_buy_balance-sum_sell_bala
nce-real_sell_balance)- temp_fare》= 0为止,得到成本价=
8.178
盈亏:=
market_value-(sum_buy_balance+real_buy_balance-sum_sell_
balance
-real_sell_balance) –temp_fare
4125=2,盈亏=5000*12-(100400-59760)-5000×12×0.006=19000
4125=0或1,盈亏=5000*12-(100400-59760)-5000×12×0.004=19120
日终业务对成本的影响
日终系统根据不同的业务计算sum_buy_amount,sum_sell_amount,
sum_buy_balance,sum_sell_balance,cost_price值,并更新stock表。
a、证券买卖等:
business_type in (’0’, ’U’, ’F’, ’D’)的业务,如果occur_balance > 0.0,则
sum_sell_balance增加occur_balance,否则,sum_buy_balance增加abs
(occur_balance);如果occur_amount > 0,则sum_buy_amount增加
occur_amount,否则sum_sell_amount增加abs(occur_amount)。
b、申购中签、配售确认等:
business_type in (’1’, ’E’, ’O’)业务,sum_buy_balance增加abs
(occur_balance),sum_buy_amount增加abs(occur_amount)。
c、红股入帐:
business_type = ’3’业务,sum_buy_amount增加abs(occur_amount)。
d、新股入帐和配股入帐:
business_type in (’2’, ’4’)业务,其中对lof上市stock_type=’K’除外,其他
sum_buy_balance增加occur_amount×business_price,sum_buy_amount增加occur_amount。
e、股息入帐:
business_type = ’6’业务,sum_sell_balance增加abs(occur_balance)。
f、证券托管、转托和余额入帐:
business_type in (’7’, ’8’, ’B’)业务,以price的收盘价asset_price作为成交价business_price计算成本,如果occur_amount > 0,则sum_buy_balance
增加business_price×occur_amount,则sum_buy_amount增加occur_amoun;
否则sum_sell_balance增加business_price×abs(occur_amount),
sum_sell_amount增加abs(occur_amount)。
g、指定交易:
business_type = ’A’且7511<>1(不是上海新接口),则置sum_buy_balance = 0,
sum_sell_balance = 0,sum_buy_amount = 0,sum_sell_amount = 0,cost_price = 0,
如为上海新接口,则成本字段不作变化。
h、开基申赎:
business_flag = 4073业务,sum_buy_balance增加abs(occur_balance),sum_buy_amount增加abs(occur_amount);business_flag = 4074业务,sum_sell_balance增加abs(business_balance),sum_sell_amount增加
abs(occur_amount)。
i、置买入均价:
根据上面的结算结果,对于sum_buy_balance的增加量》0,如果证券后余额post_amount为0的,置cost_price = 0.0,
否则,cost_price=【(post_amount - _occur_amount)×cost_price+
sum_buy_balance的增加量】/【post_amount】
股票技术指标计算公式-W%R指标计算
股票技术指标计算公式-W%R指标计算 在炒股过程中,相信大家应该都了解了均线图和各项指标及公式,那么对于W%R这个股票技术指标你了解多少呢?其中隐藏着哪些炒股技巧呢?下面一起来看看吧。 W%R指标计算 W%R又叫威廉超买超卖指标,简称威廉指标,是目前股市技术分析中比较常用的短期研判指标。对于投资者而言,威廉指标是一个简单实用的技术指标:它及时准确地选择出市场中股价异动前的瞬间,既能选择出加速下跌的瞬间,也能选择出涨升启动前的最佳入市时机。 威廉指标主要是通过分析一段时间内股价最高价、最低价和收盘价之间的关系,来判断股市的超买超卖现象,预测股价中短期的走势。它主要是利用振荡点来反映市场的超买超卖行为,分析多空双方力量的对比,从而提出有效的信号来研判市场中短期行为的走势。 威廉指标是属于研究股价波幅的技术分析指标,在公式设计上和随机指标的原理比较相似,两者都是从研究股价波幅出发,通过分析一段时间的股票的最高价、最低价和收盘价等这三者关系,来反映市场的买卖气势的强弱,借以考察阶段性市场气氛、判断价格和理性投资价值标准相背离的程度。 和股市其他技术分析指标一样,威廉指标可以运用于行情的各个周期的研判,大体而言,威廉指标可分为日、周、月、年、5分钟、15分钟、30分钟、60分钟等各种周期。虽然各周期的威廉指标的研判有所区别,但基本原理相差不多。如日威廉指标是表示当天的收盘价在过去的一段日子里的全部价格范围内所处的相对位置,把这些日子里的最高价减去当日收市价,再将其差价除以这段日子的全部价格范围就得出当日的威廉指标。 威廉指标在计算时首先要决定计算参数,此数可以采取一个买卖循环周期的半数。以日为买卖的周期为例,通常所选用的买卖循环周期为8日、14日、28日或56日等,扣除周六和周日,实际交易日为6日、10日、20日或40日等,取其一半则为3日、5日、10日或20日等。 W%R指标的计算主要是利用分析周期内的最高价、最低价及周期结束的收盘价等三者之间的关系展开的。 以日威廉指标为例,其计算公式为: W%R=(Hn—C)÷(Hn—Ln)×100 其中:C为计算日的收盘价;Ln为N周期内的最低价;Hn为N周期内的最高价;公式中的N为选定的计算时间参数,一般为4或14。 以计算周期为14日为例,其计算过程如下: W%R(14日)=(H14—C)÷(H14—L14)×100
资本成本计算公式及例题
资本成本计算公式及例题 个别资本成本的计量 (一)不考虑货币时间价值 1.长期借款资本成本 (1)特点:借款利息计入税前成本费用,可以起到抵税的作用;筹资费很小时可以略去不计。 (2)计算 i K =)()(f -1L T -1i L ?=f -1T -1i )( 式中:i K 代表长期借款成本;L 代表银行借款筹资总额;i 代表银行借款利率:T 代表所得税税率;f 代表银行借款筹资费率。 【例1】某企业取得长期借款100万元,年利率8%,期限为5年,每年付息一次,到期一次还本,筹措借款的费用率为0.2%,企业所得税率为25%,计算其资金成本: K=)()(f -1L T -1i L ?=f -1T -1i )(=0.2% -125%-1%8)(=5.61% 2、债券成本(Bond ) (1)特点:债券利息应计人税前成本费用,可以起到抵税的作用;债券筹资费用一般较高,不可省略。 (2)债券资金成本的计算公式为: b K =)()(f -1B T -1i B 0 ? 式中:b K 代表债券成本;B 代表债券面值;i 代表债券票面利率:T 代表所得税税率;B 0代表债券筹资额,按发行价格确定;f 代表债券筹资费率。 【例2】某企业发行面值1000元的债券1000张,票面利率8%,期限为5年,每年付息一次,发行费用率为2%,企业所得税率为25%,债券按面值发行,计算其资金成本: b K =) ()(f -1B T -1i B 0?=)()(2%-1100025%-1%81000?=6.12% 3.优先股成本 企业发行优先股,既要支付筹资费用,又要定期支付股息,且股利在税后支付,其资金使用成本计算公式为: P K =) (f -1P D 0
股票补仓费用成本计算器 源码
股票补仓费用成本计算器源码 下面为代码直接复制到记事本里保存就可以了(也可以用下载软件下载演示地址页面)
此程序为了方便计算成本价股票交易费用成本计算器