06版系統(tǒng)成本等算法_第1頁
06版系統(tǒng)成本等算法_第2頁
06版系統(tǒng)成本等算法_第3頁
06版系統(tǒng)成本等算法_第4頁
06版系統(tǒng)成本等算法_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、 06版系統(tǒng)算法維護手冊 目錄文檔修改記錄21前言32成本價和盈虧額算法3算法相關(guān)表的主要字段說明3成本和贏虧說明4成本價算法5類型0 買入均價5類型1 持倉成本5類型2 保本價5盈虧算法6成本贏虧的舉例7日終業(yè)務(wù)對成本的影響93資金算法10表和相關(guān)字段的說明10具體算法計算11期初余額(begin_balance)11當前余額(current_balance)11可用資金(enable_balance)11可取金額(fetch_balance)11可取現(xiàn)金(fetch_cash)124資產(chǎn)和市值算法12表和相關(guān)字段的說明12市值計算13資產(chǎn)計算131 前言本文檔用于介紹06版柜臺交易系統(tǒng)的一

2、些主要算法的說明和舉例,提供工程、維護人員、證券公司信息技術(shù)人員實際應(yīng)用中作為參考。2 成本價和盈虧額算法算法相關(guān)表的主要字段說明1)股票表算法相關(guān)字段說明(stock) 字段名 字段含義STOCK_CODE 股票代碼CURRENT_AMOUNT 當前數(shù)量 SUM_BUY_AMOUNT 累計買入數(shù)量 SUM_BUY_BALANCE 累計買入金額 SUM_SELL_AMOUNT 累計賣出數(shù)量 SUM_SELL_BALANCE 累計賣出金額 COST_PRICE 成本價2)股票變動表算法相關(guān)字段說明(stockreal) 字段名 字段含義STOCK_CODE 股票代碼 ENTRUST_SELL_A

3、MOUNT 委托賣出數(shù)量 REAL_BUY_AMOUNT 回報買入數(shù)量 REAL_SELL_AMOUNT 回報賣出數(shù)量 REAL_BUY_BALANCE 回報買入金額 REAL_SELL_BALANCE 回報賣出金額 成本和贏虧說明成本價的算法目前共有三種,分別為買入均價、持倉成本、保本價,有關(guān)成本價的一些知識說明如下:1、 成本價計算模式支持到個人,即每個客戶都可以通過“資金帳戶修改資產(chǎn)帳戶修改”對成本價計算模式進行設(shè)置和調(diào)整(fit_flag)。如果客戶的成本價類型(profit_flag)為空,則取系統(tǒng)的成本價類型,即1002開關(guān)設(shè)置的值。2、 后臺每條股份

4、記錄(stock)都具有四個字段:sum_buy_amount 累計買入數(shù)量、sum_buy_balance 累計買入金額、sum_sell_amount 累計賣出數(shù)量、sum_sell_balance 累計賣出金額。這四個字段對于計算累計買賣后的成本價和盈虧金額非常有用,通常在日終清算時對這四個字段進行相關(guān)處理。3、 當日發(fā)生交易,產(chǎn)生股份變動記錄(stockreal),也具有四個字段:real_buy_amount 成交買入數(shù)量、real_buy_balance 成交買入金額、real_sell_amount 成交賣出數(shù)量、real_sell_balance 成交賣出金額。這四個字段對于計

5、算當日買賣后的成本價和盈虧金額非常有用,通常在回報成交時對這四個字段進行相關(guān)處理。4、 每天股份記錄同時還有一個成本價字段cost_price,是日終清算時自動根據(jù)買入均價計算得到的,對于成本類型為0的客戶,成本價直接取自該字段。5、 系統(tǒng)后臺本身不記錄股份盈虧金額,查詢的時候通過同一個算法(不論當前客戶是哪種成本價計算模式)計算出股份盈虧金額income_balance。6、 當費用比率通過前臺程序進行進行修改時,as上緩存的費用(支持設(shè)置在內(nèi)存數(shù)據(jù)庫的那些表)會自動進行同步,不需要重啟AS。目前基準費用設(shè)置需要重啟AS。7、 3107開關(guān)設(shè)置的多凍結(jié)的值,會對計算當天買入賣出的費用計算和盈

6、虧中的費用部分產(chǎn)生一定的但較小的影響。成本價算法類型0 買入均價成本價由日終來計算,白天實時成交買入和賣出不影響成本價,不考慮賣出費用;在200708的基線包前,cost_price包含了買入費用,以后不再包含買入費用?!竟?式】后臺成本價 日終后處理時對成本價字段進行自動設(shè)置。 前臺顯示成本價 = 后臺股票表的成本價cost_pricestock.cost_price類型1 持倉成本成本價實時計算,考慮白天實時成交買入,但不考慮白天實時成交賣出;該成本價包含了買入費用,但不考慮賣出費用。【公 式】后臺成本價 日終后處理時對成本價相關(guān)字段進行自動設(shè)置。前臺顯示成本價 =(累計買入金額回報買入金

7、額)/(累計買入數(shù)量+回報買入數(shù)量)=(sum_buy_balance + real_buy_balance) / (sum_buy_amount+ real_buy_amount) 類型2 保本價成本價實時計算,考慮白天實時成交買入和賣出,所以白天買入賣出均影響成本價,同時該成本價包含了買入賣出費用;且采用步進算法,計算時步長以1厘為單位?!竟?式】后臺成本價 日終后處理時對成本價相關(guān)字段進行自動設(shè)置。前臺顯示 1) 成本價需要分步進行步進計算,首先得到一個不包含賣出費用的成本價的起始值cost_price= (累計買入金額回報買入金額累計賣出金額回報賣出金額)/ (累計買入數(shù)量回報買入數(shù)量

8、累計賣出數(shù)量回報賣出數(shù)量) =(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,需根據(jù)4125配置不同進行計算 41251,則為估算方式,費用比例取4126設(shè)置 temp_fare = (current_amount + real_buy_amount - real_sell_amount) * last_price * 0.0000

9、0001 * 4126的配置值cost_price=(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance)/(1-0.00000001*4126的配置值)/(current_amount+real_buy_amount- real_sell_amount) 41252,則為預算方式,費用比例取自后臺設(shè)置的標準費用類別計算得到temp_fare。 41250,則為實算方式,費用比例取自后臺設(shè)置的客戶實際費用類別計算得到temp_fare。 3)按步長單位進行計算 如果temp_mis=(current_amoun

10、t + real_buy_amount - real_sell_amount) * cost_price-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance)- temp_fare < 0 則按成本價步長1厘進行逼近計算,直到temp_mis>= 0.0000000000001,計算結(jié)束,此時cost_price即為保本價。盈虧算法無論選擇何種成本價類型,盈虧算法一樣,區(qū)別在于賣出費用計算部分(針對不同的4125設(shè)置),其中標準券888886和200000不計盈虧:盈虧金額 = 證券市值累計買入金

11、額回報買入金額累計賣出金額回報賣出金額賣出費用 =market_value-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance) temp_fare其中temp_fare的計算按price表的最新價(last_price)計算且依賴于開關(guān)4125:開關(guān)4125為2, 賣出費用進行預算,則按標準費用類別(bfare0)計算后臺計算得到temp_fare 開關(guān)41250,或1 則為實算方式,費用比例取自后臺設(shè)置的客戶實際費用類別計算得到temp_fare。成本贏虧的舉例1) 某個客戶某天買入000008,1000

12、0股,成交價格10元,假設(shè)客戶對應(yīng)費用類別的費用比例為0.004,預算費用比例4126設(shè)置為0.005,標準費用比例為0.006(此費用不是9999的費用),目前行情最新價已為11元,則白天成交后,后臺stock和stockreal表中和成本盈虧相關(guān)的字段情況。白天成交后的stock和stockreal表中和成本盈虧相關(guān)的字段情況如下:Stock: Current_amountSum_buy_balanceSum_buy_amountSum_sell_amountSum_sell_balanceCost_price000000Stockreal: Real_buy_balancereal_bu

13、y_amountreal_sell_amountreal_sell_balance1004001000000則選擇不同成本類型時的成本價如下:0成交均價:成本價cost_price 01持倉成本:成本價(sum_buy_balance + real_buy_balance) / (sum_buy_amount+ real_buy_amount)100400/10000=10.0402保本價:4125=1則成本價(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance)/(1-0.005)/(current_amou

14、nt+real_buy_amount- real_sell_amount)100400/(1-0.005)/10000=10.090 4125=2 ,成本價在初始的10.040基礎(chǔ)上,按步長進行步進計算,直到temp_mis=(current_amount + real_buy_amount - real_sell_amount) * cost_price-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance)- temp_fare 10000×成本價100400110000×0.006 0

15、為止,得到成本價10.101盈虧:market_value-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance) temp_fare41252, 盈虧10000×1110040010000×11×0.006 8940 41250或1, 盈虧10000×11100400 10000×11×0.0049160日終清算后的stock和stockreal表中和成本盈虧相關(guān)的字段情況如下:Stock:Current_amountSum_buy_balanceS

16、um_buy_amountSum_sell_amountSum_sell_balanceCost_price10000100400100000010Stockreal: Real_buy_balancereal_buy_amountreal_sell_amountreal_sell_balance00000成交均價:成本價cost_price 101持倉均價:成本價10.0402保本價:4125=1 則成本價10.090 4125=2則成本價10.101盈虧:41252, 盈虧8940 41250或1, 盈虧91602) 假如第二天客戶以12元的價格賣出了5000股000008,假設(shè)客戶對應(yīng)費

17、用類別的費用比例為0.004,預算費用比例4126設(shè)置為0.005,標準費用比例為0.006(此費用不是9999的費用),目前行情最新價已為12元,則白天成交后,后臺stock和stockreal表中和成本盈虧相關(guān)的字段情況如下:Stock: Current_amountSum_buy_balanceSum_buy_amountSum_sell_amountSum_sell_balanceCost_price10000100400100000010Stockreal: Real_buy_balancereal_buy_amountreal_sell_amountreal_sell_balanc

18、e00500059760則選擇不同成本類型時的成本價如下:0成交均價:成本價cost_price 101持倉均價:成本價10.0402保本價:4125=1則成本價(100400-59760)/(1-0.005)/5000=8.1694125=2 ,成本價在初始的8.128基礎(chǔ)上,按步長進行步進計算,直到temp_mis=(current_amount + real_buy_amount - real_sell_amount) * cost_price-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance)- t

19、emp_fare 0為止,得到成本價8.178盈虧:market_value-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance) temp_fare41252, 盈虧5000*12(100400-59760)5000×12×0.00619000 41250或1, 盈虧5000*12(100400-59760)5000×12×0.00419120日終清算后的stock和stockreal表中和成本盈虧相關(guān)的字段情況如下:Stock:Current_amountSum_b

20、uy_balanceSum_buy_amountSum_sell_amountSum_sell_balanceCost_price50001004001000050005976010 Stockreal: Real_buy_balancereal_buy_amountreal_sell_amountreal_sell_balance00000成交均價:成本價cost_price 101持倉均價:成本價10.0402保本價:4125=1則成本價(100400-59760)/(1-0.005)/5000=8.1694125=2 ,成本價在初始的8.128基礎(chǔ)上,按步長進行步進計算,直到temp_m

21、is=(current_amount + real_buy_amount - real_sell_amount) * cost_price-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance)- temp_fare 0為止,得到成本價8.178盈虧:market_value-(sum_buy_balance+real_buy_balance-sum_sell_balance-real_sell_balance) temp_fare41252, 盈虧5000*12(100400-59760)5000×

22、12×0.00619000 41250或1, 盈虧5000*12(100400-59760)5000×12×0.00419120日終業(yè)務(wù)對成本的影響日終系統(tǒng)根據(jù)不同的業(yè)務(wù)計算sum_buy_amount,sum_sell_amount,sum_buy_balance,sum_sell_balance,cost_price值,并更新stock表。a、 證券買賣等:business_type in ('0', 'U', 'F', 'D')的業(yè)務(wù),如果occur_balance > 0.0,則sum_

23、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')業(yè)務(wù),sum_buy_balance增加abs(occur_balance),sum_buy_amount增加abs(occur_amount)。

24、c、 紅股入帳:business_type = '3'業(yè)務(wù),sum_buy_amount增加abs(occur_amount)。d、 新股入帳和配股入帳: business_type in ('2', '4')業(yè)務(wù),其中對lof上市stock_type=K除外,其他sum_buy_balance增加occur_amount×business_price,sum_buy_amount增加occur_amount。e、股息入帳: business_type = '6'業(yè)務(wù),sum_sell_balance增加abs(occu

25、r_balance)。f、 證券托管、轉(zhuǎn)托和余額入帳:business_type in ('7', '8', 'B')業(yè)務(wù),以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_

26、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業(yè)務(wù),sum_buy_balance增加abs(occur_balance),sum_buy_amount增加abs(occur_amo

27、unt);business_flag = 4074業(yè)務(wù),sum_sell_balance增加abs(business_balance),sum_sell_amount增加abs(occur_amount)。i、 置買入均價:根據(jù)上面的結(jié)算結(jié)果,對于sum_buy_balance的增加量0,如果證券后余額post_amount為0的,置cost_price = 0.0,否則,cost_price【(post_amount - _occur_amount)×cost_pricesum_buy_balance的增加量】/【post_amount】3 資金算法表和相關(guān)字段的說明資金表相關(guān)字段

28、說明(fund) 字段名 字段含義fund_account 資金帳號 begin_balance 期初余額 current_balance 當前余額cash_balance 現(xiàn)金余額 check_balance 支票余額 frozen_balance 凍結(jié)資金 unfrozen_balance 解凍資金 uncome_buy_balance 未回買入金額 uncome_sell_balance 未回賣出金額 uncome_correct_balance 未回買賣凈額correct_balance 資產(chǎn)修正金額 foregift_balance 禁取資金 mortgage_balance 禁取資

29、產(chǎn)bail_balance 交易產(chǎn)生的可用資金 具體算法計算在系統(tǒng)中,將用到幾種不同含義的資金余額:期初余額、當前余額、可取金額、可用金額等。期初余額(begin_balance)指當天初始化后的最初余額,往往等同與前一天的最終余額。當前余額(current_balance)當前余額 = 期初余額 + 存入金額 - 取出金額 + 藍補金額 - 紅沖金額可用資金(enable_balance)可用金額 = 當前金額 - 凍結(jié)金額 + 解凍金額 + 交易解凍和凍結(jié)的差Enable_balancefund.current_balancefund.frozen_balancefund.unfrozen

30、_balancefund.bail_balance其中fund.bail_balance是交易產(chǎn)生的解凍和凍結(jié)之差,通過以下實時計算得到fund.bail_balancsum(business_unfrozen_balancebusiness_frozen_balance)可取金額(fetch_balance)1)可取金額 = 當前金額 凍結(jié)金額 + sum(交易解凍-交易凍結(jié)) max(臨時資金,0)禁取資金 未回賣出金額注1:sum(交易解凍-交易凍結(jié)bail_balance = sum(business_unfrozen_balance - business_frozen_balance

31、)為交易解凍和交易凍結(jié)的差,現(xiàn)在實時體現(xiàn)在FUND表bail_balance字段上,注2:臨時資金未回差額(uncome_correct_balance) + sum(交易解凍-交易凍結(jié)),即臨時資金uncome_correct_balance + bail_balance,其中未回差額uncome_correct_balance在fund表里每日初始化會根據(jù)undeliver算得一個uncome_correct_balance字段。2)如果2019設(shè)置為當天存入不允許取出,則可取資金可取資金當日存入不許取的發(fā)生額其中當日存入不允許取的發(fā)生額為fundjour中現(xiàn)金類業(yè)務(wù)標志包含2001,20

32、03,2041的累計發(fā)生額和支票類業(yè)務(wù)標志為2405的累計發(fā)生額。3)如果客戶有禁取資產(chǎn)且(總資產(chǎn)禁取資產(chǎn))>0,a. 當可取資金>總資產(chǎn)禁取資產(chǎn)時,則可取資金總資產(chǎn)禁取資產(chǎn),b. 當可取資金<總資產(chǎn)禁取資產(chǎn)時可取資金0??扇‖F(xiàn)金(fetch_cash)1)如果2018設(shè)置允許支票自動套現(xiàn):則可取現(xiàn)金fetch_cash = 可取資金fetch_balance。2)如果2018設(shè)置不允許支票自動套現(xiàn):如當前余額current_balance支票金額check_balance<現(xiàn)金余額cash_balance時,則可取現(xiàn)金 fetch_cash =現(xiàn)金余額cash_balance;如當前余額current_balance支票金額check_balance>可取資金fetch_balance時,則可取現(xiàn)金fetch_cash = 可取資金fetch_balance。4 資產(chǎn)和市值算法表和相關(guān)字段

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論