❶ 空投和多投是什麼意思
空投福利,親測到帳!
在imtoken添加合約地址就送糖果空投,打開你自己的imtoken錢包,點擊『+』號,在搜索框內添加智能合約地址
一:即可獲得VGS 30萬個(預計十月份上交易所)親測到賬
二:即可獲得 PNS 80081個(預計十月份上交易所)
三:即可獲得DAPP 10000個(預計十一月份上交易所)
四:用imtoken轉0.00個eth 到這個地址會得到空投CANDY 57600個左右(已上各大交易所)親測到賬
五:用imtoken轉0.046個ETH到這個合約地址
會收到3800個ACT空投幣 ,火幣現價0.5左右,
六:用imtoken轉0.052個ETH到這個合約地址
會收到6200個SNT現價0.4左右 親測到帳,
七:用imtoken轉0.055個ETH到這個合約地址
會收到10000個MDS 已上火幣交易現價0.25左右 親測到賬,
八:用imtoken轉0.088個ETH到這個合約地址會收到10000個ZIL 已上火幣交易現價0.35左右 親測到賬。
❷ 小米上市,股票能買嗎
看價格了,不過按照以前的行情,知名企業的股票,多數是上市的時候就是高點。
正常情況下不要急,還是等平靜下來再說吧。
❸ 誰知道該怎麼買百度的股票
你需要在美國開戶。才可以。
❹ 請問如何查詢一隻股票的買入量和賣出量
中國股票波動性的分解實證研究
宋逢明/李翰陽
【摘 要 題】證券市場
【正 文】
一、概述
在金融學領域中,波動特性一直是重要的研究內容。目前對中國股票市場波動性的研究,大多以滬市、深市兩市場指數為對象。得到的結論普遍認為中國股票市場存在較劇烈的波動,與西方尤其是美國較為發達的股票市場相比,中國股票市場的波動顯著大於它們的市場波動。但是分析中國市場的特性後,可以認為分解股票的總體波動性,在股票的市場風險和個別風險兩個層面上對中國股市的波動進行實證研究是具有一定意義的。
首先,市場中有大量的散戶投資者,而其中相當數量的散戶持有大量個股而非投資組合。盡管機構投資者逐漸成為市場的主導力量,但是散戶投資者及其投資總量仍在市場中佔有很大比例。根據markowitz(1952)的資產組合理論,這一類投資者不能夠做到分散化投資,對於他們來說企業個別波動的影響的程度決不亞於市場波動帶來的影響。其次,市場具有高度不完全性,缺乏完善的機制和足夠的金融工具。雖然傳統理論認為20至30隻股票的資產組合可以很好地實現風險的分散化從而消除這些股票的個別風險,但在中國市場中由於缺少做空機制和必要的金融工具,也不能全部做到風險的分散化,構成這一組合的股票的個別風險不可忽視。
除這些特點外,中國市場中的投資理念變化也強調了分解總體波動性的意義:近年來,中國市場中價值投資理念開始逐步被普遍採納,對於某些特定股票的重視被加深,而分散化的做法反而逐漸淡化,所以股票的個別風險情況就顯得尤為重要。還有,中國的市場中存在大量的投機者甚至是賭博者利用某一隻股票在市場中的定價偏差進行套利,此時他們就充分暴露在這一隻股票的個別風險之下,而不是市場的總體風險。而且市場中曾經有嚴重的炒作行為,這類行為也大大影響了股票的個別波動。
基於上述分析,可以認為對於股票的總體波動進行分解,分別對市場波動性和個別波動性進行實證研究是有重要實際意義的。但是,無論是國內還是國外,很少有研究者將總體波動性分解,並同時在不同層面(市場、公司)對波動性進行實證分析。campbell,lettau,malkie和xu(2001)發現,在美國股市中,盡管市場波動並未增加,但是在1962年到1997年間,個別公司的不確定性大大增強了。但是,目前對這一現象的解釋尚無定論。對於中國市場的情況,宋逢明和江婕(2003)得出的結論是1998年以後的中國股票市場的總體風險與s&p500成分股所代表的美國股市相當,但是中國股市中的系統風險一直高於美國市場。
下面我們將先介紹研究中採用的波動分解模型和波動度量的估計方法,然後著重分析不同波動成分的變化趨勢並對其成因進行簡單的分析。
二、波動性的分解模型和估計方法
1.波動性的分解模型
本文的研究中,將一隻股票的收益分解為兩部分:市場收益與個別收益。通過這種分解,我們可以構造衡量個股的兩種波動的度量,這兩種波動之和就是該股票收益的波動,所採用的方法優點在於無需計算股票間的協方差以及個股的β。
根據capm模型,我們可以得到一種個股收益波動的分解方式:
(1)var(r[,it])=β[2][,im]var(r[,mt])+var({圖}[,it])
其中r[,it]為個股的超額收益,r[,mt]為市場超額收益,且capm模型本身有r[,mt]與{圖}[,it]正交。但是這種分解的缺點是難以估計個股的β,且個股β是隨時間變化的。為解決這一問題,下面我們給出一種簡化的模型,該模型不需要個股β的信息。同時,該模型可以對個股收益的方差進行類似於(1)的分解。
首先,考慮如下不需要β的個股收益模型:
(2)r[,it]=r[,mt]+ε[,it]
注意在模型(2)中,r[,mt]與ε[,it]不是正交的,因此在計算個股收益的方差時不能忽略協方差項。根據模型(2),個股收益的方差為:
附圖{圖}然而,這里的方差分解又一次引入了個股的β。
但是,對整個市場內的所有個股收益的方差進行加權平均便消除了帶有個股β的協方差項:
(4)∑[,i]ω[,it]var(r[,it])=var(r[,mt])+∑[,i]ω[,it]var(ε[,it])=σ[2][,mt]+σ[2][,εt]
其中σ[2][,mt]=var(r[,mt]),σ[2][,εt]=∑[,i]ω[,it]var(ε[,it])。根據這種分解方法,我們就可以利用模型(2)中的殘查項ε[,it]來構造一種不需要個股β的平均個別波動度量標准。加權平均波動∑[,i]ω[,it]var(r[,it])可以理解為隨機選取的個股的波動期望值(隨機抽取到股票i的概率等於其在市場中的權重ω[,it])。
2.數據及波動性成分的估計
本文採用在上海證券交易所和深圳證券交易所交易的a股股票數據來估計基於模型(4)的個股超額收益分解所得到的等式(4)中的波動成分量。樣本期從1990年12月19日始,至2001年12月31日終。這一樣本期內,股票數量發生了巨大變化,從期初的8隻增加到期末的1133隻、股票的日交易數據共計1,311,427組。為了得到模型(2)中的個股超額收益(r[,it])和市場超額收益(r[,mt]),採用的無風險收益是人民幣一年期定期存款利率。
為估計等式(4)中的兩種波動成分量,採用下列步驟。令s為計算收益的時間間隔,本文主要採用股票日收益數據進行估計。令t為計算波動的時間間隔,本文中t一般指月。在時間間隔t內的市場收益波動,以mkt[,t]表示,由下式計算:
附圖{圖}
其中μ[,mt]是時間間隔t內市場收益r[,ms]的均值。市場收益是利用時間間隔t內所有個股收益加權平均得到的,取每隻股票當月的流通市值占總流通市值的比例且不考慮現金紅利再投資情況作為該股票的權重。這樣就得到了股票第一部分波動,即市場波動的估計量。
對於股票第二部分波動,即個別因素造成的收益波動,首先要根據公式(4)計算個股超額收益與市場超額收益的差ε[,is]=r[,is]-r[,ms],然後計算個股在時間間隔t內的波動:
附圖{圖}
如前所述,為了消除計算中的個股之間的協方差量,必須對整個市場內的所有個股收益的方差進行加權平均。由此得到了衡量各股票個別因素造成的平均波動的估計量,以firm[,t]表示:
附圖{圖}
經過上述步驟,就得到了衡量市場內個股的市場風險和個別風險的兩個估計量mkt[,t]和firm[,t]。
三、不同波動性成分的趨勢分析
根據上述模型和估計方法,即可對中國市場的股票收益波動情況進行分解研究。首先按照前面的估計方法,估計出市場波動以及個別股票波動這兩部分波動量的大小,進行圖形分析。圖1(a)顯示了中國股市中市場波動成分隨時間變化的情形,包含了在上交所及深交所上市的所有a股股票,並按照流通市值進行加權平均,從圖中可以初步看出市場波動成分有一定的下降趨勢,但是不夠明顯。
圖1(b)對圖1(a)中的數據進行滯後12階(即數據滯後一年)的簡單移動平均,進一步表明市場波動成分有下降的趨勢。1990年至1991年股票樣本數量及交易量太小,波動不明顯,但1992年初,市場波動值約在0.020到0.025之間,至2001年底樣本期末,市場波動值約為0.05。尤其是1994年中期過後,市場波動的下降趨勢更為明顯。
圖2(a)則顯示了中國股市中個別因素波動成分隨時間變化的情形,從圖中可以初步看出個別波動成分隨時間沒有明顯的趨勢。圖2(b)同樣是圖2(a)中數據進行滯後12階移動平均的結果。圖中有一定的趨勢,但是很不明顯。期初波動值約為0.020,至2001年底,波動值約為0.010。從整體上看,圖像較為平緩。
附圖{圖}
圖2 中國股票個別因素波動(firm[,t])
從圖形分析中可以看出,中國股市的市場波動成分在樣本期內有較為明顯的下降趨勢,而個別因素的波動成分在樣本期內有下降,但是不明顯。而且兩列時序數據都有持續的波動,說明其變化趨勢有可能是隨機性的。因此,除了進行圖形分析,要確定兩種波動成分的時間序列數據是否有確定性趨勢,還是僅僅為隨機性趨勢,還需要進一步進行計量經濟學分析。
2.確定性趨勢檢驗
為了便於分析,將市場波動數據進行年度化(即原始月數據乘以12)。第一步先分析他們的自相關結構。
市場波動的自相關系數下降很快,但是在0附近波動,因而不能明顯判斷序列的平穩性,不能排除單位根存在的可能。公司個別波動的自相關函數下降很快,且在0附近基本沒有波動,因而可以初步判斷序列是平穩的,並初步排除單位根存在的可能。
表1 自相關系數
滯後階數 1 2 3 4 5 6 7 8 9 10 11 12
市場波動 0.275 0.145 0.022 0.032 0.025 0.031 0.095 0.087 0.278 -.032 -.018 0.075
公司個別波動 0.021 -.018 0.018 0.049 -.015 0.117 0.062 -.028 0.058 0.015 -.017 -.023
為了檢驗序列是否有單位根,以及是否有確定性趨勢,需要進行adf檢驗。首先,根據campbell & perron(1991)推薦的方法確定滯後階數為9階。表2將市場波動的三種形式adf檢驗模型同時估計出,並給出ρ統計量和τ統計量的檢驗結果:
表2 市場波動的adf檢驗
模型類型 滯後 ρ pr<ρ τ pr<τ f pr>f
無常數項和趨勢項 9 -7.8217 0.0512 -1.69 0.0860
有常數項 9 -33.7582 0.0011 -2.71 0.0751 3.68 0.1339
有常數項和趨勢項 9 -310.761 0.0001 -3.91 0.0144 7.79 0.0141
三種模型的ρ統計量都顯著地拒絕了存在單位根的零假設,在10%的置信水平下,τ統計量也可以拒絕模型1和模型2的存在單位根的零假設。我們主要注意模型3,即包含時間趨勢項的形式,可見ρ統計量和τ統計量都非常顯著地拒絕了存在單位根的零假設;而且f統計量表明整個模型是顯著的。
對模型3進行普通ols估計,得到的各項系數的普通t檢驗結果都是顯著的,其中趨勢項的系數為-0.00269,其t統計量是-2.79,在5%的置信水平下,可以顯著地拒絕時間趨勢項系數為零的零假設。結合前面的結果,可以確定中國股市中市場波動的成分序列沒有單位根,且模型3的顯著性表明該時間序列具有確定性趨勢。其趨勢項系數為-0.00269,表明隨時間變化,年度化的mkt[,t]數據具有減小的趨勢。
表3給出了個別波動時序數據的adf檢驗結果,根據前面提到的方法,確定滯後階數為5階。
表3 公司個別波動的adf檢驗
模型類型 滯後 ρ pr<ρ τ pr<τ f pr>f
無常數項和趨勢項 5 -24.9683 0.0002 -2.92 0.0038
有常數項 5 -64.0214 0.0011 -3.89 0.0029 7.55 0.0010
有常數項和趨勢項 5 -127.348 0.0001 -4.58 0.0017 10.53 0.0010
對於模型3,該模型的檢驗結果顯著拒絕了存在單位根的零假設,雖然模型整體是顯著的,但是時間趨勢項的t統計量為-2.32,不能拒絕時間趨勢項系數為零的零假設,說明時序數據不符合該模型。繼而檢驗模型2同樣拒絕了存在單位根的零假設,其常數項的t統計量為2.49,不能拒絕常數項系數為零的零假設。模型1仍然拒絕了存在單位根的零假設,最後確定該序列無單位根,但是不包含確定性趨勢。
經過上述的計量經濟學檢驗,證實了前面圖形分析的結論,即:中國股票的市場波動成分隨時間變化有減小的確定性趨勢,但是股票的個別因素波動成分沒有確定性趨勢。這說明,中國股市的總體波動中,市場因素造成的波動在不斷減少,而股票個別因素造成的波動沒有確定的變化趨勢。
3.波動趨勢的原因討論
經過計量經濟學研究,可以確認在樣本期內中國股票的市場波動成分有減小的確定性趨勢。下面將對這一現象作進一步分析,討論其可能的成因,但更明確的定論還有待進一步研究的證明。
首先,中國股票市場處於逐步成熟的過程中,隨其發展,市場的透明度也在不斷提高,使得不同投資者之間的信息不對稱狀況得到了改善,根據我們模擬信息不對稱下市場波動的結果,可以證明:信息不對稱的程度對市場波動性的影響是存在的,當市場中有嚴重的信息不對稱時,市場波動較大,當信息不對稱較緩和時,市場波動也降低。因此我國股市中的信息不對稱程度的降低是市場波動逐步減少的一個原因。
其次,中國股票市場目前還處於高速的成長期,在本文選用的樣本期內,這一成長趨勢更為明顯。其間市場中的股票數量有顯著增加,其結果是中國a股市場中股票收益的平均相關系數不斷下降,而且這一相關性下降自1993年起尤其明顯。單個股票收益間相關性的下降在一定程度上使得市場收益趨於相對穩定,因而造成中國股票的市場波動成分逐漸減小。
第三,中國股票市場的監管也在不斷加強,不斷有新的法規出台從政策角度完善中國股票市場。而且進一步的分析發現中國股票的市場波動成分與個別因素波動成分的比值在樣本期內不斷下降,且在市場波動成分在總體波動中也占相對小的比例,從一定程度上反映了市場的持續完善化。市場的完善也會促使市場收益的穩定,即市場波動成分呈變小趨勢。
同時,在中國股票市場中,機構投資者正在逐漸替代散戶成為市場投資的主要力量。機構投資力量的加強使得市場中的炒作成分變小,也減少了投機成分,因而有利於市場收益的穩定。這同樣也可能是市場波動成分下降的原因。還有數據顯示,樣本期內中國股票市場中的交易日益活躍,這雖然可能導致個別股票收益波動增加,但是對於市場整體來說,增加的交易量可能會減小市場收益的波動。
四、結論
本文採用的波動性度量,可以有效地對總體波動性進行分解,並方便地對不同波動成分作出估計。通過移動平均方法和確定性趨勢檢驗,得到了如下主要結論:首先,中國股票的市場波動隨時間變化有減小的確定性趨勢,從中可以看到中國股市在10多年的發展中確實在不斷進步,股票市場的投資環境在逐漸完善。其次,雖然從表面上看,中國股票市場的平均個別因素波動成分有下降趨勢,但經過計量經濟學方法的檢驗,證明這一趨勢不是確定性的,表明中國市場中的上市公司質量並沒有得到根本性的改良,企業治理仍有待提高。
同時本文對中國股票的市場波動減小的結論提出了一些可能的解釋,為後續研究提供了方向,可在此基礎上,進一步論證中國股票市場的不同波動成分變化趨勢的深層原因。
【參考文獻】
[1]宋逢明,江婕.中國股票市場波動特性的實證研究[j].金融研究,2003.(4).
[2]campbell,j.y.,and p.perron,1991,pitfalls and opportunities:what macroeconomists should know about unit roots[j].nber macroeconomics annual 6,141-201.
[3]campbell,j.y.,m.lettau,b.g.malkiel,and y.xu,2001,have indivial stocks become more volatile?an empirical exploration of idiosyncratic risk[j].the journal finance lvi 1,1-43.
[4]hamilton,j.d.,1994,time series analysis[m].princeton university press.
【原文出處】財經論叢
【原刊地名】杭州
【原刊期號】200404
【作者簡介】作者單位:清華大學經濟管理學院
❺ 請問 深圳成指股票都包括哪些每年都有變化么謝謝
100指數成分股一覽表
http://www.goomj.com/zqts/zjzl/zjzl3.htm
目前未變化。
❻ 如何通過雪球查詢股票之前的變動狀況
一. 雪球公司介紹
雪球 聰明的投資者都在這里。
web 1.0:新聞資訊,股價信息,K線圖
web 2.0:SNS 訂閱,分享,聊天
web 3.0:移動 APP,交易閉環
雪球現在員工數還不到100,其中技術人員佔一半。去年9月C輪融資4kw刀。我們現在的技術棧由下列組件組成:Java,Scala,Akka,Finagle,Nodejs,Docker ,Hadoop。我們當前是租用IDC機房自建私有雲,正在往「公私混合雲」方向發展。
在雪球上,用戶可以獲取滬深港美2w+股票的新聞信息,股價變化情況,也可以獲取債券,期貨,基金,比特幣,信託,理財,私募等等理財產品的各類信息,也可以關注雪球用戶建立的百萬組合,訂閱它們的實時調倉信息,還可以關注雪球大V。雪球當前有百萬日活躍用戶,每天有4億的API調用。App Store 財務免費榜第 18 名。歷史上曾排到財務第二,總免費榜第 19。
二. 雪球當前總體架構
作為一個典型的移動互聯網創業公司,雪球的總體架構也是非常典型的設計:
最上層是三個端:web端,android端和iOS端。流量比例大約為 2:4:4 。web3.0 的交易功能,在 web 端並不提供。
接入層以及下面的幾個層,都在我們的自建機房內部。雪球當前只部署了一個機房,還屬於單機房時代。正在進行「私有雲+公有雲混合部署」方案推進過程中。
我們當前使用 nodejs 作為 web 端模板引擎。nodejs 模塊與android 和 ios 的 app 模塊一起屬於大前端團隊負責。
再往下是位於 nginx 後面的 api 模塊。跟 linkedin 的 leo 和微博的 v4 一樣,雪球也有一個遺留的大一統系統,名字就叫 snowball 。最初,所有的邏輯都在 snowball 中實現的。後來慢慢的拆出去了很多 rpc 服務,再後來慢慢的拆出去了一些 http api 做成了獨立業務,但即便如此,snowball 仍然是雪球系統中最大的一個部署單元。
在需要性能的地方,我們使用 netty 搭建了一些獨立的介面,比如 quoto server,是用來提供開盤期間每秒一次的股價查詢服務,單機 qps 5w+,這個一會再細說;而 IM 服務,起初設計里是用來提供聊天服務,而現在,它最大的用途是提供一個可靠的 push 通道,提供 5w/s 的消息下發容量,這個也一會再細說。
雪球的服務化拆分及治理採用 twitter 開源的 finagle rpc 框架,並在上面進行了一些二次開發和定製。定製的功能主要集中在 access log 增強,和 fail fast,fail over 策略及降級開關等。 finagle 的實現比較復雜,debug 和二次開發的門檻較高,團隊內部對此也進行了一些討論。
雪球的業務比較復雜,在服務層中,大致可以分為幾類:第一類是web1.0,2.0 及基礎服務,我們稱為社區,包括用戶,帖子,新聞,股價,搜索等等,類比對象就是新浪財經門戶+微博;第二類是組合及推薦,主要提供股票投資策略的展示和建議,類比對象是美國的motif;第三類是通道,類似股市中的「支付寶」,接入多家券商,提供瞬間開戶,一鍵下單等等各種方便操作的功能。
雪球的業務實現中,包含很多非同步計算邏輯,比如搜索建索引,比如股票漲跌停發通知,比如組合收益計算等等,為此,我們設計了一個獨立的 Thread/Task 模塊,方便管理所有的後台計算任務。但隨著這些 task 越來越多,邏輯差異越來越大,一個統一的模塊並不是總是最佳的方案,所以,我們又把它拆成了兩大類:流式的,和批量式的。
雪球的推薦體系包括組合推薦「買什麼」和個性化推薦。我們最近正在重新梳理我們的大數據體系,這個感興趣的話可以單聊。
最下面是基礎設施層。雪球基礎設施層包括:redis,mysql,mq,zk,hdfs,以及容器 docker。
線上服務之外,我們的開發及後台設施也很典型:gitlab開發,jenkins打包,zabbix 監控系統向 openfalcon 遷移,redimine向confluence遷移,jira,以及內部開發的 skiing 後台管理系統。
** 三. 雪球架構優化歷程**
首先描述一下標題中的「股市動盪」定語修飾詞吧:
上證指數從年初的3000點半年時間漲到了5000多,6月12號達到最高點5200點,然後就急轉直下,最大單日跌幅 8.48%,一路跌回4000點以下。最近一周都在3900多徘徊。
3月最後一周,A股開戶 166萬戶,超過歷史最高紀錄 2007年5月第二周165萬戶。
4月份,證監會宣布A股支持單用戶開設多賬戶。
6月底,證金公司代表國家隊入場救市。
7月份,證監會宣布嚴打場外配資。
中國好聲音廣告第一晚,帶來超過平時峰值200倍的注冊量
挑戰:小 VS 大:
小:小公司的體量,團隊小,機器規模小
大:堪比大公司的業務線數量,業務復雜度,瞬間峰值沖擊
雪球的業務線 = 1個新浪財經 + 1 個微博 + 1 個 motif + 1 個大智慧/同花順。由於基數小,API調用瞬間峰值大約為平時峰值的 30+ 倍。
挑戰:快速增長,移動互聯網 + 金融,風口,A股大盤劇烈波動。
首先,在app端,在我們核心業務從 web2.0 sns 向 3.0 移動交易閉環進化的過程中,我們開發了一個自己的 hybrid 框架:本地原生框架,加離線 h5 頁面,以此來支撐我們的快速業務迭代。當前,雪球前端可以做到 2 周一個版本,且同時並行推進 3 個版本:一個在 app store 等待審核上線,一個在內測或公測,一個在開發。我們的前端架構師孟祥宇在今年的 wot 上有一個關於這方面的詳細分享,有興趣的可以稍後再深入了解。
雪球App實踐—構建靈活、可靠的Hybrid框架 http://wot.51cto.com/2015mobile/ http://down.51cto.com/data/2080769
另外,為了保障服務的可用性,我們做了一系列的「端到端服務質量監控」。感興趣的可以搜索我今年4月份在環信SM meetup上做的分享《移動時代端到端的穩定性保障》。其中在 app 端,我們採用了一種代價最小的數據傳輸方案:對用戶的網路流量,電池等額外消耗幾乎為0
每個請求里帶上前一個請求的結果
succ or fail : 1 char
失敗原因:0 - 1 char
請求介面編號: 1 char
請求耗時:2 - 3 char
其它:網路制式,etc
炒股的人大多都會盯盤:即在開盤期間,開著一個web頁面或者app,實時的看股價的上下跳動。說到「實時」,美股港股當前都是流式的數據推送,但國內的A股,基本上都是每隔一段時間給出一份系統中所有股票現價的一個快照。這個時間間隔,理論上是3秒,實際上一般都在5秒左右。 交了錢簽了合同,雪球作為合作方就可以從交易所下屬的數據公司那裡拿到數據了,然後提供給自己的用戶使用。
剛才介紹總體架構圖的時候有提到 quote server ,說到這是需要性能的地方。
業務場景是這樣的,雪球上個人主頁,開盤期間,每秒輪詢一次當前用戶關注的股票價格變動情況。在內部,所有的組合收益計算,每隔一段時間需要獲取一下當前所有股票的實時價格。起初同時在線用戶不多,這個介面就是一個部署在 snowball 中的普通介面,股價信息被實時寫入 redis ,讀取的時候就從 redis 中讀。後來,A股大漲,snowball 抗不住了。於是我們就做了一個典型的優化:獨立 server + 本地內存存儲。開盤期間每次數據更新後,數據接收組件主動去更新 quote server 內存中的數據。 後續進一步優化方案是將這個介面以及相關的處理邏輯都遷移到公有雲上去。
對於那些不盯盤的人,最實用的功能就是股價提醒了。在雪球上,你除了可以關注用戶,還可以關注股票。如果你關注的某隻股票漲了或跌了,我們都可以非常及時的通知你。雪球上熱門股票擁有超過 50w 粉絲(招商銀行,蘇寧雲商)粉絲可以設置:當這支股票漲幅或跌幅超過 x%(默認7%)時提醒我。曾經連續3天,每天超過1000股跌停,證監會開了一個會,於是接下來2天超過1000股漲停
原來做法:
股票漲(跌)x%,掃一遍粉絲列表,過濾出所有符合條件的粉絲,推送消息
新做法:
預先建立索引,開盤期間載入內存
1%:uid1,uid2
2%:uid3,uid4,uid5
3%:uid6
問題:有時候嫌太及時了:頻繁跌停,打開跌停,再跌停,再打開。。。的時候
內部線上記錄:
4台機器。
單條消息延時 99% 小於 30秒。
下一步優化目標:99% 小於 10 秒
IM 系統最初的設計目標是為雪球上的用戶提供一個聊天的功能:
送達率第一
雪球IM:Netty + 自定義網路協議
Akka : 每個在線client一個actor
推模式:client 在線情況下使用推模式
多端同步:單賬號多端可登錄,並保持各種狀態同步
移動互聯網時代,除了微信qq以外的所有IM,都轉型成了推送通道,核心指標變成了瞬間峰值性能。原有架構很多地方都不太合適了。
優化:
分配更多資源:推送賬號actor池
精簡業務邏輯:重復消息只存id,實時提醒內容不推歷史設備,不更新非活躍設備的session列表等等
本地緩存:拉黑等無法精簡的業務邏輯遷移到本地緩存
優化代碼:非同步加密存儲,去除不合理的 akka 使用
akka這個解釋一下:akka 有一個自己的 log adapter,內部使用一個 actor 來處理所有的 log event stream 。當瞬間峰值到來的時候,這個 event stream 一下子就堵了上百萬條 log ,導致 gc 顛簸非常嚴重。最後的解決辦法是,繞過 akka 的 log adapter,直接使用 logback 的 appender
線上記錄:5w/s (主動限速)的推送持續 3 分鍾,p99 性能指標無明顯變化
7月10號我們在中國好聲音上做了3期廣告。在廣告播出之前,我們針對廣告可能帶來的對系統的沖擊進行了壓力測試,主要是新用戶注冊模塊,當時預估廣告播出期間2小時新注冊100萬
壓測發現 DB 成為瓶頸:
昵稱檢測 cache miss > 40%
昵稱禁用詞 where like 模糊查詢
手機號是否注冊 cache miss > 80%
注冊新用戶:5 insert
優化:
redis store:昵稱,手機號
本地存儲:昵稱禁用詞
業務流程優化:DB insert 操作同步改非同步
下一步優化計劃:
將 sns 系統中所有的上行操作都改成類似的非同步模式
介面調用時中只更新緩存,而且主動設置5分鍾過期,然後寫一個消息到 mq 隊列,隊列處理程序拿到消息再做其它耗時操作。
為了支持失敗重試,需要將主要的資源操作步驟都做成冪等。
前置模塊HA:
合作方合規要求:業務單元部署到合作方內網,用戶的敏感數據不允許離開進程內存
業務本身要求:業務單元本身為有狀態服務,業務單元高可用
解決方案:
使用 Hazelcast In-Memory Data Grid 的 replication map 在多個 jvm 實例之間做數據同步。
java 啟動參數加上 -XX:+DisableAttachMechanism -XX:-UsePerfData,禁止 jstack,jmap 等等 jdk 工具連接
關於前置模塊,其實還有很多很奇葩的故事,鑒於時間關系,這里就不展開講了。以後有機會可以當笑話給大家講。
組合凈值計算性能優化:
一支股票可能在超過20萬個組合里(南車北車中車,暴風科技)
離線計算,存儲計算後的結果
股價3秒變一次,涉及到這支股票的所有組合理論上也需要每 3 秒重新計算一次
大家可能會問,為什麼不用戶請求時,實時計算呢?這是因為「組合凈值」中還包括分紅送配,分股,送股,拆股,合股,現金,紅利等等,業務太過復雜,開發初期經常需要調整計算邏輯,所以就設計成後台離線計算模式了。當前正在改造,將分紅送配邏輯做成離線計算,股價組成的凈值實時計算。介面請求是,將實時計算部分和離線計算部分合並成最終結果。
實際上,我們的計算邏輯是比較低效的:循環遍歷所有的組合,對每個組合,獲取所有的價值數據,然後計算。完成一遍循環後,立即開始下一輪循環。
優化:
分級:活躍用戶的活躍組合,其它組合。
批量:拉取當前所有股票的現價到 JVM 內存里,這一輪的所有組合計算都用這一份股價快照。
關於這個話題的更詳細內容,感興趣的可以參考雪球組合業務總監張岩楓在今年的 arch summit 深圳大會上的分享:構建高可用的雪球投資組合系統技術實踐 http://sz2015.archsummit.com/speakers/201825
最後,我們還做了一些通用的架構和性能優化,包括jdk升級到8,開發了一個基於 zookeeper 的 config center 和開關降級系統
四. 聊聊關於架構優化的一些總結和感想
在各種場合經常聽說的架構優化,一般都是優化某一個具體的業務模塊,將性能優化到極致。而在雪球,我們做的架構優化更多的是從問題出發,解決實際問題,解決到可以接受的程度即可。可能大家看起來會覺得很凌亂,而且每個事情單獨拎出來好像都不是什麼大事。
我們在對一個大服務做架構優化時,一般是往深入的本質進行挖掘;當我們面對一堆架構各異的小服務時,「架構優化」的含義其實是有一些不一樣的。大部分時候,我們並不需要(也沒有辦法)深入到小服務的最底層進行優化,而是去掉或者優化原來明顯不合理的地方就可以了。
在快速迭代的創業公司,我們可能不會針對某一個服務做很完善的架構設計和代碼實現,當出現各種問題時,也不會去追求極致的優化,而是以解決瓶頸問題為先。
即使我們經歷過一回將 snowball 拆分服務化的過程,但當我們重新上一個新的業務時,我們依然選擇將它做成一個大一統的服務。只是這一次,我們會提前定義好每個模塊的 service 介面,為以後可能的服務化鋪好路。
在創業公司里,重寫是不能接受的;大的重構,從時間和人力投入上看,一般也是無法承擔的。而「裱糊匠」式做法,哪裡有性能問題就加機器,加緩存,加資料庫,有可用性問題就加重試,加log,出故障就加流程,加測試,這也不是雪球團隊工作方式。我們一般都採用最小改動的方式,即,准確定義問題,定位問題根源,找到問題本質,制定最佳方案,以最小的改動代價,將問題解決到可接受的范圍內。
我們現在正在所有的地方強推3個數據指標:qps,p99,error rate。每個技術人員對自己負責的服務,一定要有最基本的數據指標意識。數字,是發現問題,定位根源,找到本質的最重要的依賴條件。沒有之一。
我們的原則:保持技術棧的一致性和簡單性,有節制的嘗試新技術,保持所有線上服務依賴的技術可控,簡單來說,能 hold 住。
能用cache的地方絕不用db,能非同步的地方,絕不同步。俗稱的:吃一塹,長一智。
特事特辦:業務在發展,需求在變化,實現方式也需要跟著變化。簡單的來說:遺留系統的優化,最佳方案就是砍需求,呵呵。
熱心網友
2018-11-17
謝萬成梁嬋娟空殼公司空手套白狼詐騙集資,有關部門必須嚴查作假上市集資詐騙犯罪,謝萬成梁嬋娟詐騙集資嚴查刑罰。
❽ imgl是什麼股票
香港摩天集團公司股票代碼:IMGL
❾ 日本股票傭金交易時間如何轉帳需要轉匯嗎可以做空嗎有沒有漲跌停越詳細越好啊。
想坐境外股市?歡迎交流,我們這開一個戶,全球所有開放市場的股票都能做。大公司信譽保障
❿ imgl是什麼股票
目前我國的股票市場上沒有你說的這家公司的股票上市交易哈。
希望我的回答能夠幫助到你,望採納,謝謝。