『壹』 在編程中如何能能獲得股票的數據 例如當前價,最高價,最低價,當前成交量等等
要看使和什麼數據了,每個軟體數據的存儲格式不同,有的還是加密存儲的(如指南針)。
以常見的錢龍數據來說吧(錢龍是最簡單的存儲格式)當前價,最高價,最低價,當前成交量等等都是以隨機文件存儲的長整型數據。下面是讀取錢龍數據的C源碼,你可以參考一下:
#include <stdio.h>
#include <conio.h>
#include <stdlib.h>
typedef struct { ------->定義數據類型
unsigned long date; ------->定義日期為長整
unsigned long open; ------->定義開盤為..
unsigned long high; ------->定義最高為..
unsigned long low; ------->定義最低為..
unsigned long close; ------->定義收盤為..
unsigned long travl; ------->定義成交量..
unsigned long traca; ------->定義成交額..
char unuse[12];
} RECORD;
RECORD reco;
int readrec(FILE *);
void main()
{
FILE *fp;
if((fp = fopen("000001.day","rb")) == NULL) // 打開深發展日線
{ printf("Error: Can't open 000001.DAY !\n");
exit(0); }
readrec(fp);
fclose(fp);
if(getch()==0) getch();
exit(0);
}
int readrec(FILE *fp)
{
float fn;
while (! feof(fp)) {
fread(&reco,sizeof(RECORD),1,fp);
printf("%10lu ",reco.date);
fn=float(reco.open)/1000;
printf("%8.2f ",fn);
fn=float(reco.high)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.low)/1000; .
printf("%8.2f ",fn); .
fn=float(reco.close)/1000; .
printf("%8.2f ",fn); .
printf("%8lu ",reco.travl); .
printf("%8lu\n",reco.traca);
}
printf("\n");
return 0;
『貳』 自己編的股票軟體是怎麼接收數據的
你好!數據接收不是個人可以完成的,要成立公司還要要有金融類的拍照,在向交易所申報
經過復查之後公司符合要求了,才會給你交易所數據接收介面,才能接收數據
『叄』 用什麼軟體可以導出股票的數據,如成交量,換手率,價格等。我用了很多軟體同花順,通信達,大智慧都導不
通信達可以做到,它可以導出開盤、最高、最低、收盤、成交量等數據。通過系統 - 數據導出,選擇格式為文本(.TXT)文檔或Excel(.XLS)文件即可。
我們經常掛在嘴邊的股票成交量,也就是買股票和賣出股票數量的總和,換句話說,就是在這一天成功發生交易的股票總手數(1手=100股)
籠統地說,股票成交量能體現出個股或者大盤的活躍程度,有助於我們從眾多股票中選中最好的一個、識別買入和賣出的時機。
看股票成交量的具體辦法都有哪些?有什麼分析技巧?又有哪些地方需要我們注意呢?我來為大家做詳細的說明,大家可以接著往下看。
在這之前,先給大家發福利,我整理各行業的龍頭股信息,涉及醫療、新能源、白酒、軍工等熱門行業,隨時可能被刪:吐血整理!各大行業龍頭股票一覽表,建議收藏!
一、股票成交量怎麼看?有什麼分析技巧?
想知道股票成交量的話可以看交易軟體,通過看開盤時的買入賣出量來確定成交量。或者看紅綠柱,這些都可以直接表明出股票的成交量:紅柱體代表買入﹥賣出;綠柱體代表買入﹤賣出。
要想股票炒得好,實用工具少不了,吐血整理的【股票研究9大神器】。點擊領取:超實用炒股的九大神器,建議收藏
二、股票成交量大就一定好嗎?
股票的成交量並不能證明這只股票就是好的,只能關於這支股票的價格,說買賣雙方有著非常大的分歧。
像一些熱門股票,買的人認為價格會上漲,賣的人認為價格會下跌,雙方分歧很大,那成交量就會很高,反之成交量就很低。
成交量通常和股價趨勢結合在一起看會更好:上漲趨勢中,成交量迅速放大,價格隨之不斷上升,買賣雙方的分歧越來越劇烈,越來越多的持有者在賣出股票,此時追漲需要有所戒備了;成交量會隨趨勢下跌而減少,買賣雙方意見相同,未來就很有可能會繼續下跌。
除此之外,股票成交量還有其他幾種情況,出於文章的限制,我就不詳細說明了,大家可以點擊下方鏈接,輸入你中意的股票,就能免費獲得個股成交量分析報告:【免費】測一測你的股票當前估值位置?
應答時間:2021-09-08,最新業務變化以文中鏈接內展示的數據為准,請點擊查看
『肆』 開發炒股軟體,從哪裡獲得股票數據
行情數據源在上交所和深交所。需要購買。而且很貴。
象我們平常看到行情,是券商營業部所買,我們連到他們伺服器,而接收到數據。
P2P數據介面使用說明(1)2009-03-18 08:58介面使用說明:
1. 壓縮包包含四個文件,分別為P2P.exe,P2P.CFG,zlib.dll和使用說明.txt,可以解壓到任意盤任意目錄下使用。
2. 支持的行情分析軟體有:
(1) 分析家2006,2005等,要求分析家主窗口標題最前面的幾個字是"分析家 -",是否是破解版關系不大,最好是下載分析家官方網站的正版分析家,網址是http://www.fxj.com.cn,分析家其他版本號是否支持,我也沒全做試驗。
(2) 飛狐交易師,支持飛狐交易師,要求飛狐交易師主窗口標題最前面的幾個字是"飛狐交易師"或"證券分析師",是否是破解版關系不大,最好是支持正版,用正版的。
(3) 大智慧新一代,要求大智慧主窗口標題最前面的幾個字是"大智慧Level" 支持的版本號有 09.0226,08.0907,08.0801,07.0205 共四個。
註:如果分析軟體的窗口標題不符合上面說的,則分析軟體無法接收數據。以上三個分析軟體最好都是正版的,只要下載正版的軟體,安裝後,無需做任何修改即可使用。介面再次說明一下,介面中的四個文件解壓到任意目錄下使用都可以,而無需解壓到某個分析軟體的某個目錄下,或替代某個分析軟體的某個文件。介面完全是綠色的,無需安裝,也不會在注冊表中留下任何信息。
3. 每天9:15分以後用行情軟體中的數據管理功能先清除當天的行情數據,然後把右下角「發送數據」發送數據前面的鉤選上。
4. 如果不能在開盤前打開該軟體,比如10點半才打開,那麼該介面會自動補充10點半之前的行情數據,為了能夠盡快的把前面的數據補充完畢,請把速度調節到100以上。但如果是飛狐,則把該值調低一些,否則飛狐會來不及處理數據,把大量的數據放到內存中,造成飛狐使用內存越來越大,最後由於內存耗完造成飛狐或介面非法退出。大智慧和分析家則不存在這個問題。
5. 收盤後,該介面具有白天行情的回放功能,回放前,最好先清除行情軟體中當天的行情數據。
6. 該介面由於是P2P接收數據,因此數據接收需要種子,只有和別的種子連上了,你就能接收數據了,你至少要和一個種子連上,當然,你連上別的種子後,你也就能稱為種子了,你也就能為別的人提供數據服務功能了。
7. 兩個人要連接成功,最好兩個人中有一個人的IP地址是公網地址,如果兩個全是內網地址則相互無法直接聯通,必須藉助第三方才能聯通,該方法這里不再介紹了。
8. 如果網路情況比較良好,則行情數據的延時一般不會大於0.5秒。
9. 介面的P2P連接信息中的欄位說明
(1). 遠程完成--為該IP接收到完整數據包的個數。
(2). 遠程請求--為該IP請求你發送的數據包序號。
(3). 本機請求--為本機請求遠程發送數據包序號。
(4). 請求返回--遠程響應本機請求的次數。
『伍』 炒股軟體的實時數據是怎麼獲取的
如果你只是需要進行實時選股,則可以採用通達信、大智慧、同花順等看盤軟體。通達信、大智慧等軟體中有一個「鷹眼盯盤」的功能(各家叫法不同,但意思一樣的),結合自己在這些軟體中編寫的自編公式、指標,可實現實時的的股票監控。
如果你需要的是實時獲取股票數據,則有專門的股票實時行情API介面,例如微盛的股票實時API介面,通過這樣的介面,編程即可取得實時的股票數據。
『陸』 如果編寫一個股票分析的軟體,用什麼軟體編寫比較好,而且股票的數據從何而來
微軟的visual C++ 比較好
用起來方便 初學者比較適用
至於股票數據
據我所知
要向證券所代理
一般都要收費的
『柒』 如何獲得股票行情數據,自己編程處理進行數據挖掘
行情數據可到通達信或者同花順觀看
『捌』 如何編程從免費股票軟體中提取實時數據
自己寫程序的話,一種方法是從已提供的信息源,例如webservice獲取數據。還有種辦法就是去連接提供即時信息的網頁硬解析。
代碼舉例如下:
Created on Thu Jul 23 09:17:27 2015
@author: jet
"""
DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20', 'turnover']
DAY_PRICE_URL = '%sapi.finance.%s/%s/?code=%s&type=last'
INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB']
INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300',
'SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'}
INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20']
K_TYPE_KEY = ['D', 'W', 'M']
K_TYPE_MIN_KEY = ['5', '15', '30', '60']
K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'}
MIN_PRICE_URL = '%sapi.finance.%s/akmin?scode=%s&type=%s'
PAGE_TYPE = {'http': 'http://', 'ftp': 'ftp://'}
PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'}
URL_ERROR_MSG = '獲取失敗,請檢查網路狀態,或者API埠URL已經不匹配!'
get_hist_data.py
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 23 09:15:40 2015
@author: jet
"""
import const as ct
import pandas as pd
import json
from urllib2 import urlopen,Request
def get_hist_data(code = None, start = None, end = None, ktype = 'D'):
"""
功能:
獲取個股歷史交易數據
--------
輸入:
--------
code:string
股票代碼 比如:601989
start:string
開始日期 格式:YYYY-MM-DD 為空時取到API所提供的最早日期數據
end:string
結束日期 格式:YYYY-MM-DD 為空時取到最近一個交易日數據
ktype:string(default=D, 函數內部自動統一為大寫)
數據類型 D=日K線,W=周K線,M=月K線,5=5分鍾,15=15分鍾
30=30分鍾,60=60分鍾
輸出:
--------
DataFrame
date 日期
open 開盤價
high 最高價
close 收盤價
low 最低價
chg 漲跌額
p_chg 漲跌幅
ma5 5日均價
ma10 10日均價
ma20 20日均價
vma5 5日均量
vma10 10日均量
vma20 20日均量
turnover換手率(指數無此項)
"""
code = code_to_APIcode(code.upper())
ktype = ktype.upper()
url = ''
url = get_url(ktype, code)
print(url)
js = json.loads(ping_API(url))
cols = []
if len(js['record'][0]) == 14:
cols = ct.INDEX_DAY_PRICE_COLS
else:
cols = ct.DAY_PRICE_COLS
df = pd.DataFrame(js['record'], columns=cols)
if ktype in ct.K_TYPE_KEY:
df = df.applymap(lambda x:x.replace(u',', u''))
for col in cols[1:]:
df[col]=df[col].astype(float)
if start is not None:
df = df [df.date >= start]
if end is not None:
df = df[df.date <= end]
df = df.set_index('date')
return df
def code_to_APIcode(code):
"""
功能:
驗證輸入的股票代碼是否正確,若正確則返回API對應使用的股票代碼
"""
print(code)
if code in ct.INDEX_KEY:
return ct.INDEX_LIST[code]
else:
if len(code) != 6:
raise IOError('code input error!')
else:
return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code
def get_url(ktype, code):
"""
功能:
驗證輸入的K線類型是否正確,若正確則返回url
"""
if ktype in ct.K_TYPE_KEY:
url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
ct.K_TYPE[ktype], code)
return url
elif ktype in ct.K_TYPE_MIN_KEY:
url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
code, ktype)
return url
else:
raise IOError('ktype input error!')
def ping_API(url):
"""
功能:
向API發送數據請求,若鏈接正常返回數據
"""
text = ''
try:
req = Request(url)
text = urlopen(req,timeout=10).read()
if len(text) < 15:
raise IOError('no data!')
except Exception as e:
print(e)
else:
return text
#測試入口
print(get_hist_data('601989','2015-07-11','2015-07-22'))
『玖』 股票軟體如何開發的用什麼語言數據的獲得方式
K-JAVA功能可以做移動商務、移動辦公 、信息點播、股票、外匯、地址簿、日歷、文件管理 、天氣預報等;
股票軟體使用的是JAVA語言,該可以跨平台運行,軟體開發商可以很容易的開發應用程序;股票行情軟體是基於Java計算機編程語言上的,也就是K-JAVA即J2ME軟體平台,專門用於嵌入式設備的JAVA軟體。
Java包含了一種計算機編程語言和一個平台,隨著K-Java技術的不斷完善與發展,發展商們將對具有K-Java功能的手機用戶提供更還更全面的服務。如: 互動游戲、互動新聞 、增強手機連接到無線網路後進行數據交換的安全性、 載以Java語言寫成的內容、遙控家用電器。
軟體開發商以K-Java編程語言為手機開發應用程序,可以提供,游戲,個人信息處理,股票,電子地圖等服務程序。 Java有許多值得稱道的優點,如簡單、面向對象、分布式、解釋性、可靠、安全、結構中立性、可移植性、高性能、多線程、動態性等。
『拾』 如何編程從免費股票軟體中提取實時數據
自己寫程序的話,一種方法是從已提供的信息源,例如webservice獲取數據。還有種辦法就是去連接提供即時信息的網頁硬解析。
代碼舉例如下:
Created on Thu Jul 23 09:17:27 2015
@author: jet
"""
DAY_PRICE_COLS = ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20', 'turnover']
DAY_PRICE_URL = '%sapi.finance.%s/%s/?code=%s&type=last'
INDEX_KEY = ['SH', 'SZ', 'HS300', 'SZ50', 'GEB', 'SMEB']
INDEX_LIST = {'SH': 'sh000001', 'SZ': 'sz399001', 'HS300': 'sz399300',
'SZ50': 'sh000016', 'GEB': 'sz399006', 'SMEB': 'sz399005'}
INDEX_DAY_PRICE_COLS= ['date', 'open', 'high', 'close', 'low', 'volume',
'chg', '%chg', 'ma5', 'ma10', 'ma20',
'vma5', 'vma10', 'vma20']
K_TYPE_KEY = ['D', 'W', 'M']
K_TYPE_MIN_KEY = ['5', '15', '30', '60']
K_TYPE = {'D': 'akdaily', 'W': 'akweekly', 'M': 'akmonthly'}
MIN_PRICE_URL = '%sapi.finance.%s/akmin?scode=%s&type=%s'
PAGE_TYPE = {'http': 'http://', 'ftp': 'ftp://'}
PAGE_DOMAIN = {'sina': 'sina.com.cn', 'ifeng': 'ifeng.com'}
URL_ERROR_MSG = '獲取失敗,請檢查網路狀態,或者API埠URL已經不匹配!'
get_hist_data.py
# -*- coding: utf-8 -*-
"""
Created on Thu Jul 23 09:15:40 2015
@author: jet
"""
import const as ct
import pandas as pd
import json
from urllib2 import urlopen,Request
def get_hist_data(code = None, start = None, end = None, ktype = 'D'):
"""
功能:
獲取個股歷史交易數據
--------
輸入:
--------
code:string
股票代碼 比如:601989
start:string
開始日期 格式:YYYY-MM-DD 為空時取到API所提供的最早日期數據
end:string
結束日期 格式:YYYY-MM-DD 為空時取到最近一個交易日數據
ktype:string(default=D, 函數內部自動統一為大寫)
數據類型 D=日K線,W=周K線,M=月K線,5=5分鍾,15=15分鍾
30=30分鍾,60=60分鍾
輸出:
--------
DataFrame
date 日期
open 開盤價
high 最高價
close 收盤價
low 最低價
chg 漲跌額
p_chg 漲跌幅
ma5 5日均價
ma10 10日均價
ma20 20日均價
vma5 5日均量
vma10 10日均量
vma20 20日均量
turnover換手率(指數無此項)
"""
code = code_to_APIcode(code.upper())
ktype = ktype.upper()
url = ''
url = get_url(ktype, code)
print(url)
js = json.loads(ping_API(url))
cols = []
if len(js['record'][0]) == 14:
cols = ct.INDEX_DAY_PRICE_COLS
else:
cols = ct.DAY_PRICE_COLS
df = pd.DataFrame(js['record'], columns=cols)
if ktype in ct.K_TYPE_KEY:
df = df.applymap(lambda x:x.replace(u',', u''))
for col in cols[1:]:
df[col]=df[col].astype(float)
if start is not None:
df = df [df.date >= start]
if end is not None:
df = df[df.date <= end]
df = df.set_index('date')
return df
def code_to_APIcode(code):
"""
功能:
驗證輸入的股票代碼是否正確,若正確則返回API對應使用的股票代碼
"""
print(code)
if code in ct.INDEX_KEY:
return ct.INDEX_LIST[code]
else:
if len(code) != 6:
raise IOError('code input error!')
else:
return 'sh%s'%code if code[:1] in ['5', '6'] else 'sz%s'%code
def get_url(ktype, code):
"""
功能:
驗證輸入的K線類型是否正確,若正確則返回url
"""
if ktype in ct.K_TYPE_KEY:
url = ct.DAY_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
ct.K_TYPE[ktype], code)
return url
elif ktype in ct.K_TYPE_MIN_KEY:
url = ct.MIN_PRICE_URL % (ct.PAGE_TYPE['http'], ct.PAGE_DOMAIN['ifeng'],
code, ktype)
return url
else:
raise IOError('ktype input error!')
def ping_API(url):
"""
功能:
向API發送數據請求,若鏈接正常返回數據
"""
text = ''
try:
req = Request(url)
text = urlopen(req,timeout=10).read()
if len(text) < 15:
raise IOError('no data!')
except Exception as e:
print(e)
else:
return text
#測試入口
print(get_hist_data('601989','2015-07-11','2015-07-22'))