當前位置:首頁 » 股票類別 » 股票基金查詢api
擴展閱讀
設計總院股票歷史股價 2023-08-31 22:08:17
股票開通otc有風險嗎 2023-08-31 22:03:12
短線買股票一天最好時間 2023-08-31 22:02:59

股票基金查詢api

發布時間: 2022-11-08 03:40:23

⑴ 混合型\股票型基金有什麼辦法可以實時查看漲跌走勢 和指數型基金一樣。

沒有辦法查看漲跌走勢圖。
股票說白了就是一種「商品」,和別的商品一樣,它的價格也受到它的內在價值(標的公司價值)的控制,而且它的價格無論怎樣變化都是圍繞之價值周圍的。
像普通商品一樣,股票的價格波動,供求關系影響著它的價格變化。
和豬肉有一樣,當需求的豬肉量大幅度增長,豬肉的供給卻跟不上,那豬肉價肯定上升;當市場上的豬肉越來越多,而人們的需求卻達不到那麼多,供給大於需求,那價格就會下跌。
股票的價格波動表現為:10元/股的價格,50個人賣出,但市場上有100個買,那另外50個買不到的人就會以11元的價格買入,導致股價上漲,否則就會下跌(由於篇幅問題,這里將交易進行簡化了)。
平日里,買賣雙方的情緒會受到很多事情的影響,進而影響到供求關系的穩定,其中影響比較大的因素有3個,接下來我將給大家進行詳細說明。
在這之前,先給大家送波福利,免費領取各行業的龍頭股詳細信息,涵蓋醫療、軍工、新能源能熱門產業,隨時可能被刪:【絕密】機構推薦的牛股名單泄露,限時速領!!

一、哪些因素會使得股票出現漲跌變化?
1、政策
國家政策引領著行業和產業,比如說新能源,幾年前我國開始對新能源進行開發,針對相關的企業、產業都展開了幫扶計劃,比如補貼、減稅等。
這就招來大量的市場資金,對於相關行業板塊或者上市公司,都會不斷的尋找它們,最後引起股票的漲跌。
2、基本面
看長期的趨勢,市場的走勢和基本面相同,基本面向好,市場整體就向好,比如說疫情期間我國經濟優先恢復增長,企業的經營狀況變好,股市也會出現回彈的情況。
3、行業景氣度
這點是關鍵所在,不言而喻,股票的漲跌不會脫離行業走勢,行業景氣度和公司股票的漲幅程度成正比,比如上面說到的新能源。
為了讓大家及時了解到最新資訊,我特地掏出了壓箱底的寶貝--股市播報,能及時掌握企業信息、趨勢拐點等,點擊鏈接就能免費獲取:【股市晴雨表】金融市場一手資訊播報
二、股票漲了就一定要買嗎?
許多新手剛接觸到股票,一看某支股票漲勢大好,馬上花了幾萬塊投資,後來竟然一路下跌,被套的非常牢。其實股票的變化起伏可以進行短期的人為控制,只要有人持有足夠多的籌碼,一般來說占據市場流通盤的40%,就可以完全控制股價。學姐覺得如果你還處於小白階段,把長久持有龍頭股進行價值投資放在第一位,防止在短線投資中出現大量損失。吐血整理!各大行業龍頭股票一覽表,建議收藏!

應答時間:2021-09-23,最新業務變化以文中鏈接內展示的數據為准,請點擊查看

⑵ 如何獲取實時的股票行情信息,有相關的公用介面或者數據源嗎

實時股票數據介面

股票數據的獲取目前有如下兩種方法可以獲取:
1.
http/javascript介面取數據
2.
web-service介面
1.http/javascript介面取數據
1.1Sina股票數據介面
以大秦鐵路(股票代碼:601006)為例,如果要獲取它的最新行情,只需訪問新浪的股票數據
介面:
http://hq.sinajs.cn/list=sh601006
這個url會返回一串文本,例如:
var
hq_str_sh601006="大秦鐵路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91,
26.92,
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700,
26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93,
14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11,
15:05:32";
這個字元串由許多數據拼接在一起,不同含義的數據用逗號隔開了,按照程序員的思路,順序號從0開始。
0:」大秦鐵路」,股票名字;
1:」27.55″,今日開盤價;
2:」27.25″,昨日收盤價;
3:」26.91″,當前價格;
4:」27.55″,今日最高價;
5:」26.20″,今日最低價;
6:」26.91″,競買價,即「買一」報價;
7:」26.92″,競賣價,即「賣一」報價;
8:」22114263″,成交的股票數,由於股票交易以一百股為基本單位,所以在使用時,通常把該值除以一百;
9:」589824680″,成交金額,單位為「元」,為了一目瞭然,通常以「萬元」為成交金額的單位,所以通常把該值除以一萬;
10:」4695″,「買一」申請4695股,即47手;
11:」26.91″,「買一」報價;
12:」57590″,「買二」
13:」26.90″,「買二」
14:」14700″,「買三」
15:」26.89″,「買三」
16:」14300″,「買四」
17:」26.88″,「買四」
18:」15100″,「買五」
19:」26.87″,「買五」
20:」3100″,「賣一」申報3100股,即31手;
21:」26.92″,「賣一」報價
(22,
23), (24, 25), (26,27), (28,
29)分別為「賣二」至「賣四的情況」
30:」2008-01-11″,日期;
31:」15:05:32″,時間;
一個簡單的JavaScript應用例子:
script
type="text/javascript" src="http://hq.sinajs.cn/list=sh601006"
charset="gb2312">/script>
/javascript">
var
elements=hq_str_sh601006.split(",");
document.write("current
price:"+elements[3]);
這段代碼輸出大秦鐵路(股票代碼:601006)的當前股價
current
price:14.20
如果你要同時查詢多個股票,那麼在URL最後加上一個逗號,再加上股票代碼就可以了;比如你要一次查詢大秦鐵路(601006)和大同煤業(601001)的行情,就這樣使用URL:
http://hq.sinajs.cn/list=sh601003,sh601001
查詢大盤指數,比如查詢上證綜合指數(000001):
http://hq.sinajs.cn/list=s_sh000001
伺服器返回的數據為:
var
hq_str_s_sh000001="上證指數,3094.668,-128.073,-3.97,436653,5458126";
數據含義分別為:指數名稱,當前點數,當前價格,漲跌率,成交量(手),成交額(萬元);
查詢深圳成指數:
http://hq.sinajs.cn/list=s_sz399001
對於股票的K線圖,日線圖等的獲取可以通過請求http://image.sinajs.cn/…./…/*.gif此URL獲取,其中*代表股票代碼,詳見如下:
查看日K線圖:
http://image.sinajs.cn/newchart/daily/n/sh601006.gif

分時線的查詢:
http://image.sinajs.cn/newchart/min/n/sh000001.gif

日K線查詢:
http://image.sinajs.cn/newchart/daily/n/sh000001.gif

周K線查詢:
http://image.sinajs.cn/newchart/weekly/n/sh000001.gif

月K線查詢:
http://image.sinajs.cn/newchart/monthly/n/sh000001.gif

1.2
Bai&Google的財經數據
在,
google中搜索某隻股票代碼時,將會在頭條顯示此股票的相關信息,例如在google搜索601006時,
第一條搜索結果如下圖:
通過點擊左邊的圖片我們發現會將此圖片鏈接到sina財經頻道上,也就是說google股票數據的獲取也是從sina獲取。後經抓包分析,發現google也是採用1.1中介紹的介面。
Bai的股票數據來自的財經頻道
http://stock..com/
1.3
其他方式
除了sina,等網站提供股票信息外,其他網站也有類似的介面。我們分析了一款論壇上採用的股票插件,
其中有關於實時股票數據獲取的介紹,詳見如下代碼,其中可以看到有些數據來自sina。
以下是ASP示例:
=5
then
stockdata=gethttp("http://hq.sinajs.cn/list=sh"&code&"")
if
not len(stockdata)=0 then
stockdata=split(stockdata,chr(34))(1)
end if
if
len(stockdata)=0
then
stockdata="0,0,0,0,0,0,0,0,0,0,0,0"
else
stockdatasplit=split(stockdata,",")
stockdata=""&exstock.checkstr(stockdatasplit(0))&","&stockdatasplit(1)&","&stockdatasplit(2)&","&stockdatasplit(3)&","&stockdatasplit(4)&","&stockdatasplit(5)&","&formatdatetime(""&stockdatasplit(30)&"
"&stockdatasplit(31)&"",0)&""
end
if
『0=股票名稱,1=開盤價格,2=昨收盤價格,3=當前價格,4=最高價,5=最低價,6=更新時間
getstockdata=stockdata
end
function
function getstockimg(code)
dim
rndnum,addnum,checkcode,imgsource
if len(code)=5
then
getstockimg="http://image.sinajs.cn/newchart/daily/n/sh"&code&".gif"
end
if
imgsource="http://finance.sina.com.cn"
case
3
getstockimg="http://hq.gazxfe.com/stockchart/realline.chart?"&code&"&1003&SZ
500 330"
imgsource="http://hq.gazxfe.com"
case
4
getstockimg="http://chartse.stockstar.com/chartserver?code="&code&""
imgsource="http://www.stockstar.com/"
end
select
getstockimg=split(""&getstockimg&"||"&imgsource&"","||")
end
function
function getastockimg()
dim
rndnum,addnum,checkcode
dim
getastockimgb,imgsource
addnum=6
randomize:rndnum=cint(rnd*addnum)
select
case rndnum
case
0
getastockimg="http://202.109.106.1/gifchartse/gif/000001.gif"
getastockimgb="http://202.109.106.1/gifchartse/gif/399001.gif"
imgsource="http://www.stockstar.com/"
case
1
getastockimg="http://money.163.com/special/100.gif?C39"
getastockimgb="http://money.163.com/special/101.gif?HrS"
imgsource="http://www.163.com"
case
2
getastockimg="http://www.10jqka.com.cn/curve/realtime/index2.php?code=1a0001&w=180&h=140"
getastockimgb="http://www.10jqka.com.cn/curve/realtime/index2.php?code=399001&w=180&h=140"
imgsource="http://www.10jqka.com.cn"
case
3
getastockimg="http://chart.cnlist.com/stockchart/realline.chart?1a0001&1002&SZ
180
140"
getastockimgb="http://chart.cnlist.com/stockchart/realline.chart?399001&1002&SZ
180
140"
imgsource="http://chart.cnlist.com/"
case
4
getastockimg="http://image.sinajs.cn/newchart/small/ish000001.gif?1189176558328"
getastockimgb="http://image.sinajs.cn/newchart/small/isz399001.gif?1189176558328"
imgsource="http://www.sinajs.cn"
case
5
getastockimg="http://218.1.72.66/cgi/pic/sh/realtime/JA000001164143.png"
getastockimgb="http://218.1.72.66/cgi/pic/sz/realtime/JA399001164143.png"
imgsource="http://www.cnstock.com/"
case
6
getastockimg="http://222.73.29.85/img/000001.png"
getastockimgb="http://222.73.29.85/img/399001.png"
imgsource="http://www.eastmoney.com/"
end
select
getastockimg=split(""&getastockimg&"||"&getastockimgb&"||"&imgsource&"","||")
end
function
%>
2.
web-service介面
2.1 CHINAstock的web-service:
http://www.webxml.com.cn/WebServices/ChinaStockWebService.asmx
中國股票行情數據
WEB 服務(支持深圳和上海股市的全部基金、債券和股票),數據即時更新。輸出GIF分時走勢圖、日/周/月 K
線圖、及時行情數據(股票名稱、行情時間、最新價、昨收盤、今開盤、漲跌額、最低、最高、漲跌幅、成交量、成交額、競買價、競賣價、委比、買一 - 買五、賣一 -
賣五)。此WEB服務提供了如下幾個介面:
2.1.1
getStockImageByCode
GET
股票GIF分時走勢圖
INput:theStockCode =
股票代號,如:sh000001
POST /WebServices/ChinaStockWebService.asmx
HTTP/1.1
Host: www.webxml.com.cn
Content-Type:
text/xml; charset=utf-8
Content-Length:
length
SOAPAction:
"http://WebXml.com.cn/getStockImageByCode"

string

Output:
2.1.2
getStockImageByteByCode
獲得中國股票GIF分時走勢圖位元組數組
INput:theStockCode
= 股票代號,如:sh000001
POST /WebServices/ChinaStockWebService.asmx
HTTP/1.1Host: www.webxml.com.cnContent-Type: text/xml;
charset=utf-8Content-Length: lengthSOAPAction:
"http://WebXml.com.cn/getStockImageByteByCode"
string
返回的數據如下:
hkMyt4m4VkJtstbv8A
2.1.3
getStockImage_kByCode
直接獲得中國股票GIF日/周/月 K
線圖(545*300pixel/72dpi)
INPUT: theStockCode =
股票代號
theType = K 線圖類型(D:日[默認]、W:周、M:月),
POST
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByCode" string
string
比如按照下圖所示輸入:
返回的結果就是周K線圖:
2.1.4
getStockImage_kByteByCode
獲得中國股票GIF日/周/月 K
線圖位元組數組
Input:theStockCode = 股票代號,如:sh000001
POST
/WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockImage_kByteByCode" string string
HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: length
base64Binary
比如按照下圖輸入:
返回的結果就是周K線圖位元組數組
hkMyt4m4VkJtstbv8A
2.1.5
getStockInfoByCode
獲得中國股票及時行情
input:theStockCode
= 股票代號
POST /WebServices/ChinaStockWebService.asmx HTTP/1.1Host:
www.webxml.com.cnContent-Type: text/xml; charset=utf-8Content-Length:
lengthSOAPAction: "http://WebXml.com.cn/getStockInfoByCode"
string
返回的值一個一維字元串數組
String(24),結構為:String(0)股票代號、String(1)股票名稱、String(2)行情時間、String(3)最新價(元)、String(4)昨收盤(元)、String(5)今開盤(元)、String(6)漲跌額(元)、String(7)最低(元)、String(8)最高(元)、String(9)漲跌幅(%)、String(10)成交量(手)、String(11)成交額(萬元)、String(12)競買價(元)、String(13)競賣價(元)、String(14)委比(%)、String(15)-String(19)買一
- 買五(元)/手、String(20)-String(24)賣一 - 賣五(元)/手。
Web
service的方法類似於現在concurrent項目的DBWS數據的獲取,都是通過SOAP協議向DBWS伺服器獲取相關的數據。
利用雅虎查中國股票
http://quote.yahoo.com/d/quotes.csv?s=MSFT&f=slc1wop
返回微軟的股票價格
"MSFT","4:00pm
- 30.70",+1.04,"21.46 -
30.75",29.77,29.66
http://quote.yahoo.com/d/quotes.csv?s=000969.SZ&f=slc1wop
這個返回安泰科技的,一般有半個小時的延遲。
但是s=000969.sz
這個後面的sz是深圳的意思, 滬市是SS後綴

⑶ 在哪可以獲取股票、基金、指數等的數據介面,需要把這些數據顯示在網站上

股票數據的獲取目前有如下兩種方法可以獲取:
1. http/javascript介面取數據
2. web-service介面
1.http/javascript介面取數據
1.1Sina股票數據介面
以大秦鐵路(股票代碼:601006)為例,如果要獲取它的最新行情,只需訪問新浪的股票數據
介面:
http://hq.sinajs.cn/list=sh601006
這個url會返回一串文本,例如:
var hq_str_sh601006="大秦鐵路, 27.55, 27.25, 26.91, 27.55, 26.20, 26.91, 26.92,
22114263, 589824680, 4695, 26.91, 57590, 26.90, 14700, 26.89, 14300,
26.88, 15100, 26.87, 3100, 26.92, 8900, 26.93, 14230, 26.94, 25150, 26.95, 15220, 26.96, 2008-01-11, 15:05:32";
這個字元串由許多數據拼接在一起,不同含義的數據用逗號隔開了,按照程序員的思路,順序號從0開始。

http://www.cnblogs.com/luluping/archive/2010/11/15/1877817.html

⑷ 國泰安里下載的數據為什麼省份有些沒沒有代碼

你得確認是否購買了相關數據——很多學校只買了部分數據,所以只能看到部分示例數據;如果購買了數據,那你也得選擇相關股票代碼、時間區間、變數、輸出格式。
金融數據下載介面,股票數據下載介面,基金數據下載介面,可轉債數據下載介面 快速獲取滬深股票、港股、大盤指數、基金凈值、基金排行等財經數據,提供免費的財經數據下載介面。介面將提供Txt、Gson、Csv文件等多種數據形式,方便分析人員快速分析數據。我們將持續完善和增加各類財經數據,力求給大家提供高效、全面、穩定的數據服務。一些指數類的ETF,尤其是像創業板、滬深300這類寬基指數,波動相對穩定,存在一定周期性,挖掘財經數據是存在一定價值的,這是歪哥相信的,也是一直在探索的。希望網站提供的財經數據介面能給大家在投資上帶來些許方便,在探索財富奧秘、追求財富自由的道路上,也希望有大家相伴。 目前,提供股票、基金等基本數據下載,保存文件格式多樣化,大家可以根據實際情況設置參數。

⑸ 常用的API有哪些

WINDOWS編程常用API函數
1. API之網路函數
WNetAddConnection 創建同一個網路資源的永久性連接
WNetAddConnection2 創建同一個網路資源的連接
WNetAddConnection3 創建同一個網路資源的連接
WNetCancelConnection 結束一個網路連接
WNetCancelConnection2 結束一個網路連接
WNetCloseEnum 結束一次枚舉操作
WNetConnectionDialog 啟動一個標准對話框,以便建立同網路資源的連接
WNetDisconnectDialog 啟動一個標准對話框,以便斷開同網路資源的連接
WNetEnumResource 枚舉網路資源
WNetGetConnection 獲取本地或已連接的一個資源的網路名稱
WNetGetLastError 獲取網路錯誤的擴展錯誤信息
WNetGetUniversalName 獲取網路中一個文件的遠程名稱以及/或者UNC(統一命名規范)名稱
WNetGetUser 獲取一個網路資源用以連接的名字
WNetOpenEnum 啟動對網路資源進行枚舉的過程
2. API之消息函數
BroadcastSystemMessage 將一條系統消息廣播給系統中所有的頂級窗口
GetMessagePos 取得消息隊列中上一條消息處理完畢時的滑鼠指針屏幕位置
GetMessageTime 取得消息隊列中上一條消息處理完畢時的時間
PostMessage 將一條消息投遞到指定窗口的消息隊列
PostThreadMessage 將一條消息投遞給應用程序
RegisterWindowMessage 獲取分配給一個字串標識符的消息編號
ReplyMessage 答復一個消息
SendMessage 調用一個窗口的窗口函數,將一條消息發給那個窗口
SendMessageCallback 將一條消息發給窗口
SendMessageTimeout 向窗口發送一條消息
SendNotifyMessage 向窗口發送一條消息
3. API之文件處理函數
CloseHandle 關閉一個內核對象。其中包括文件、文件映射、進程、線程、安全和同步對象等
CompareFileTime 對比兩個文件的時間
CopyFile 復制文件
CreateDirectory 創建一個新目錄
CreateFile 打開和創建文件、管道、郵槽、通信服務、設備以及控制台
CreateFileMapping 創建一個新的文件映射對象
DeleteFile 刪除指定文件
DeviceIoControl 對設備執行指定的操作
DosDateTimeToFileTime 將DOS日期和時間值轉換成一個 win32 FILETIME 值
FileTimeToDosDateTime 將一個 win32 FILETIME 值轉換成DOS日期和時間值
FileTimeToLocalFileTime 將一個FILETIME結構轉換成本地時間
FileTimeToSystemTime 根據一個FILETIME結構的內容,裝載一個SYSTEMTIME結構
FindClose 關閉由FindFirstFile函數創建的一個搜索句柄
FindFirstFile 根據文件名查找文件
FindNextFile 根據調用FindFirstFile函數時指定的一個文件名查找下一個文件
FlushFileBuffers 針對指定的文件句柄,刷新內部文件緩沖區
FlushViewOfFile 將寫入文件映射緩沖區的所有數據都刷新到磁碟
GetBinaryType 判斷文件是否可以執行
GetCompressedFileSize 判斷一個壓縮文件在磁碟上實際占據的位元組數
GetCurrentDirectory 在一個緩沖區中裝載當前目錄
GetDiskFreeSpace 獲取與一個磁碟的組織有關的信息,以及了解剩餘空間的容量
GetDiskFreeSpaceEx 獲取與一個磁碟的組織以及剩餘空間容量有關的信息
GetDriveType 判斷一個磁碟驅動器的類型
GetExpandedName 取得一個壓縮文件的全名
GetFileAttributes 判斷指定文件的屬性
GetFileInformationByHandle 這個函數提供了獲取文件信息的一種機制
GetFileSize 判斷文件長度
GetFileTime 取得指定文件的時間信息
GetFileType 在給出文件句柄的前提下,判斷文件類型
GetFileVersionInfo 從支持版本標記的一個模塊里獲取文件版本信息
GetFileVersionInfoSize 針對包含了版本資源的一個文件,判斷容納文件版本信息需要一個多大的緩沖區
GetFullPathName 獲取指定文件的完整路徑名
GetLogicalDrives 判斷系統中存在哪些邏輯驅動器字母
GetLogicalDriveStrings 獲取一個字串,其中包含了當前所有邏輯驅動器的根驅動器路徑
GetOverlappedResult 判斷一個重疊操作當前的狀態
GetPrivateProfileInt 為初始化文件(.ini文件)中指定的條目獲取一個整數值
GetPrivateProfileSection 獲取指定小節(在.ini文件中)所有項名和值的一個列表
GetPrivateProfileString 為初始化文件中指定的條目取得字串
GetProfileInt 取得win.ini初始化文件中指定條目的一個整數值
GetProfileSection 獲取指定小節(在win.ini文件中)所有項名和值的一個列表
GetProfileString 為win.ini初始化文件中指定的條目取得字串
GetShortPathName 獲取指定文件的短路徑名
GetSystemDirectory 取得Windows系統目錄(即System目錄)的完整路徑名
GetTempFileName 這個函數包含了一個臨時文件的名字,它可由應用程序使用
GetTempPath 獲取為臨時文件指定的路徑
GetVolumeInformation 獲取與一個磁碟卷有關的信息
GetWindowsDirectory 獲取Windows目錄的完整路徑名
hread 參考lread
hwrite 參考lwrite函數
lclose 關閉指定的文件
lcreat 創建一個文件
llseek 設置文件中進行讀寫的當前位置
LockFile 鎖定文件的某一部分,使其不與其他應用程序共享
LockFileEx 與LockFile相似,只是它提供了更多的功能
lopen 以二進制模式打開指定的文件
lread 將文件中的數據讀入內存緩沖區
lwrite 將數據從內存緩沖區寫入一個文件
LZClose 關閉由LZOpenFile 或 LZInit函數打開的一個文件
LZCopy 復制一個文件
LZInit 這個函數用於初始化內部緩沖區
LZOpenFile 該函數能執行大量不同的文件處理,而且兼容於壓縮文件
LZRead 將數據從文件讀入內存緩沖區
LZSeek 設置一個文件中進行讀寫的當前位置
MapViewOfFile 將一個文件映射對象映射到當前應用程序的地址空間
MoveFile 移動文件
OpenFile 這個函數能執行大量不同的文件操作
OpenFileMapping 打開一個現成的文件映射對象
QueryDosDevice 在Windows NT中,DOS設備名會映射成NT系統設備名。該函數可判斷當前的設備映射情況
ReadFile 從文件中讀出數據
ReadFileEx 與ReadFile相似,只是它只能用於非同步讀操作,並包含了一個完整的回調
RegCloseKey 關閉系統注冊表中的一個項(或鍵)
RegConnectRegistry 訪問遠程系統的部分注冊表
RegCreateKey 在指定的項下創建或打開一個項
RegCreateKeyEx 在指定項下創建新項的更復雜的方式。在Win32環境中建議使用這個函數
RegDeleteKey 刪除現有項下方一個指定的子項
RegDeleteValue 刪除指定項下方的一個值
RegEnumKey 枚舉指定項的子項。在Win32環境中應使用RegEnumKeyEx
RegEnumKeyEx 枚舉指定項下方的子項
RegEnumValue 枚舉指定項的值
RegFlushKey 將對項和它的子項作出的改動實際寫入磁碟
RegGetKeySecurity 獲取與一個注冊表項有關的安全信息
RegLoadKey 從以前用RegSaveKey函數創建的一個文件里裝載注冊表信息
RegNotifyChangeKeyValue 注冊表項或它的任何一個子項發生變化時,用這個函數提供一種通知機制
RegOpenKey 打開一個現有的注冊表項
RegOpenKeyEx 打開一個現有的項。在win32下推薦使用這個函數
RegQueryInfoKey 獲取與一個項有關的信息
RegQueryValue 取得指定項或子項的默認(未命名)值
RegQueryValueEx 獲取一個項的設置值
RegReplaceKey 用一個磁碟文件保存的信息替換注冊表信息;並創建一個備份,在其中包含當前注冊表信息
RegRestoreKey 從一個磁碟文件恢復注冊表信息
RegSaveKey 將一個項以及它的所有子項都保存到一個磁碟文件
RegSetKeySecurity 設置指定項的安全特性
RegSetValue 設置指定項或子項的默認值
RegSetValueEx 設置指定項的值
RegUnLoadKey 卸載指定的項以及它的所有子項
RemoveDirectory 刪除指定目錄
SearchPath 查找指定文件
SetCurrentDirectory 設置當前目錄
SetEndOfFile 針對一個打開的文件,將當前文件位置設為文件末尾
SetFileAttributes 設置文件屬性
SetFilePointer 在一個文件中設置當前的讀寫位置
SetFileTime 設置文件的創建、訪問及上次修改時間
SetHandleCount 這個函數不必在win32下使用;即使使用,也不會有任何效果
SetVolumeLabel 設置一個磁碟的卷標(Label)
SystemTimeToFileTime 根據一個FILETIME結構的內容,載入一個SYSTEMTIME結構
UnlockFile 解除對一個文件的鎖定
UnlockFileEx 解除對一個文件的鎖定
UnmapViewOfFile 在當前應用程序的內存地址空間解除對一個文件映射對象的映射
VerFindFile 用這個函數決定一個文件應安裝到哪裡
VerInstallFile 用這個函數安裝一個文件
VerLanguageName 這個函數能根據16位語言代碼獲取一種語言的名稱
VerQueryValue 這個函數用於從版本資源中獲取信息
WriteFile 將數據寫入一個文件
WriteFileEx 與WriteFile類似,只是它只能用於非同步寫操作,並包括了一個完整的回調
WritePrivateProfileSection 為一個初始化文件(.ini)中指定的小節設置所有項名和值
WritePrivateProfileString 在初始化文件指定小節內設置一個字串
WriteProfileSection 為Win.ini初始化文件中一個指定的小節設置所有項名和值
WriteProfileString 在Win.ini初始化文件指定小節內設置一個字串
4. API之列印函數
AbortDoc 取消一份文檔的列印
AbortPrinter 刪除與一台列印機關聯在一起的緩沖文件
AddForm 為列印機的表單列表添加一個新表單
AddJob 用於獲取一個有效的路徑名,以便用它為作業創建一個後台列印文件。它也會為作業分配一個作業編號
AddMonitor 為系統添加一個列印機監視器
AddPort 啟動「添加埠」對話框,允許用戶在系統可用埠列表中加入一個新埠
AddPrinter 在系統中添加一台新列印機
AddPrinterConnection 連接指定的列印機
AddPrinterDriver 為指定的系統添加一個列印驅動程序
AddPrintProcessor 為指定的系統添加一個列印處理器
AddPrintProvidor 為系統添加一個列印供應商
AdvancedDocumentProperties 啟動列印機文檔設置對話框
ClosePrinter 關閉一個打開的列印機對象
ConfigurePort 針對指定的埠,啟動一個埠配置對話框
ConnectToPrinterDlg 啟動連接列印機對話框,用它同訪問網路的列印機連接
DeleteForm 從列印機可用表單列表中刪除一個表單
DeleteMonitor 刪除指定的列印監視器
DeletePort 啟動「刪除埠」對話框,允許用戶從當前系統刪除一個埠
DeletePrinter 將指定的列印機標志為從系統中刪除
DeletePrinterConnection 刪除與指定列印機的連接
DeletePrinterDriver 從系統刪除一個列印機驅動程序
DeletePrintProcessor 從指定系統刪除一個列印處理器
DeletePrintProvidor 從系統中刪除一個列印供應商
DeviceCapabilities 利用這個函數可獲得與一個設備的能力有關的信息
DocumentProperties 列印機配置控制函數
EndDocAPI 結束一個成功的列印作業
EndDocPrinter 在後台列印程序的級別指定一個文檔的結束
EndPage 用這個函數完成一個頁面的列印,並准備設備場景,以便列印下一個頁
EndPagePrinter 指定一個頁在列印作業中的結尾
EnumForms 枚舉一台列印機可用的表單
EnumJobs 枚舉列印隊列中的作業
EnumMonitors 枚舉可用的列印監視器
EnumPorts 枚舉一個系統可用的埠
EnumPrinterDrivers 枚舉指定系統中已安裝的列印機驅動程序
EnumPrinters 枚舉系統中安裝的列印機
EnumPrintProcessorDatatypes 枚舉由一個列印處理器支持的數據類型
EnumPrintProcessors 枚舉系統中可用的列印處理器
Escape 設備控制函數
關閉用函數獲取的一個列印機通告對象
創建一個新的改變通告對象,以便我們注意列印機狀態的各種變化
用這個函數判斷觸發一次列印機改變通告信號的原因
FreePrinterNotifyInfo 釋放由函數分配的一個緩沖區
GetForm 取得與指定表單有關的信息
GetJob 獲取與指定作業有關的信息
GetPrinter 取得與指定列印機有關的信息
GetPrinterData 為列印機設置注冊表配置信息
GetPrinterDriver 針對指定的列印機,獲取與列印機驅動程序有關的信息
GetPrinterDriverDirectory 判斷指定系統中包含了列印機驅動程序的目錄是什麼
GetPrintProcessorDirectory 判斷指定系統中包含了列印機處理器驅動程序及文件的目錄
OpenPrinter 打開指定的列印機,並獲取列印機的句柄
PrinterMessageBox 在擁有指定列印作業的系統上顯示一個列印機出錯消息框
PrinterProperties 啟動列印機屬性對話框,以便對列印機進行配置
ReadPrinter 從列印機讀入數據
ResetDC 重設一個設備場景
ResetPrinter 改變指定列印機的默認數據類型及文檔設置
ScheleJob 提交一個要列印的作業
SetAbortProc 為Windows指定取消函數的地址
SetForm 為指定的表單設置信息
SetJob 對一個列印作業的狀態進行控制
SetPrinter 對一台列印機的狀態進行控制
SetPrinterData 設置列印機的注冊表配置信息
StartDoc 開始一個列印作業
StartDocPrinter 在後台列印的級別啟動一個新文檔
StartPage 列印一個新頁前要先調用這個函數
StartPagePrinter 在列印作業中指定一個新頁的開始
WritePrinter 將發送目錄中的數據寫入列印機

⑹ 如何利用一些 finance 資料庫 api 批量獲取股票信息

在數據瀏覽器中選擇需要的股票數據導出就行。

⑺ 簡訊介面是否助通是什麼意思

需要具備無線路由器,設置方法: 1、將接入網線插到無線路由器的WAN口上,再從無線路由器的LAN接條網線到電腦上(如果是筆記本或手機設置,只需通過無線信號連接上可直接安裝); 2、打開瀏覽器,輸入路由器的登陸地址,回車,進入登陸提示,輸入路由器的管理用戶名和密碼(無線路由器登陸地址和管理用戶名、密碼在無線路由器後面標簽上有註明); 3、進入路由器設置界面後,設置向導,下一步,選擇PPPOE撥號方式,下一步,輸入上網賬號和密碼,下一步; 4、SSID框里設置無線網路名稱,PSK框里輸入最少8位數的無線網路密碼,下一步; 5、保存,根據提示重啟無線路由器,即可完成無線路由器的安裝。

⑻ 如何通過雪球查詢股票之前的變動狀況

一. 雪球公司介紹

雪球 聰明的投資者都在這里。

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,能非同步的地方,絕不同步。俗稱的:吃一塹,長一智。

特事特辦:業務在發展,需求在變化,實現方式也需要跟著變化。簡單的來說:遺留系統的優化,最佳方案就是砍需求,呵呵。