成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Python怎樣獲得實(shí)時(shí)股票數(shù)據(jù)的方式實(shí)例

89542767 / 876人閱讀

  原文中具體闡述了Python怎樣獲得實(shí)時(shí)股票數(shù)據(jù)的方式實(shí)例,原文中根據(jù)實(shí)例編碼推薦的十分具體,對(duì)大家學(xué)習(xí)培訓(xùn)或工作具有很強(qiáng)的參照學(xué)習(xí)培訓(xùn)使用價(jià)值,必須的小伙伴們下邊伴隨著小編就來(lái)互相學(xué)習(xí)了解一下吧


  怎樣獲得實(shí)時(shí)股票信息內(nèi)容


  股票消息的插口有許多,以前大伙兒常見(jiàn)的是新浪網(wǎng)的,但年初情況下,新浪網(wǎng)的插口忽然無(wú)法使用,來(lái)給大家導(dǎo)致了非常大的煩惱,因此在網(wǎng)上也有許多實(shí)例教程教你如何從新浪網(wǎng)讀取數(shù)據(jù),跟隨實(shí)例教程整了大半天也沒(méi)用,干脆轉(zhuǎn)到126(其實(shí)就是網(wǎng)易游戲了),覺(jué)得速率都很不錯(cuò)。


  最先大家看看接口地址:http://api.money.126.net/data/feed/1000001,money.api


  這其中的1000001便是股票號(hào)了,跟新浪網(wǎng)的差異,它的首位意味著交易中心,后邊6位是股票號(hào)


  0:上海交易所


  1:深圳交易所


  2:重慶聯(lián)交所


  先進(jìn)行電腦瀏覽器看看算法設(shè)計(jì):


  _ntes_quote_callback({
  "1000001":{
  "code":"1000001",
  "percent":0.002113,
  "high":14.25,
  "askvol3":1026758,
  "askvol2":810700,
  "askvol5":290493,
  "askvol4":461100,
  "price":14.23,
  "open":14.2,
  "bid5":14.18,
  "bid4":14.19,
  "bid3":14.2,
  "bid2":14.21,
  "bid1":14.22,
  "low":14.11,
  "updown":0.03,
  "type":"SZ",
  "bidvol1":323600,
  "status":0,
  "bidvol3":244200,
  "bidvol2":673474,
  "symbol":"000001",
  "update":"2022/06/25 17:59:57",
  "bidvol5":343500,
  "bidvol4":145200,
  "volume":86604061,
  "askvol1":817268,
  "ask5":14.27,
  "ask4":14.26,
  "ask1":14.23,
  "name":"平安銀行",
  "ask3":14.25,
  "ask2":14.24,
  "arrow":"↑",
  "time":"2022/06/24 16:00:58",
  "yestclose":14.2,
  "turnover":1227798687.09
  }
  });


  可以看出_ntes_quote_callback()中的就是標(biāo)準(zhǔn)的json數(shù)據(jù),我們只要通過(guò)正則表達(dá)式就可以取出。


  我們先定義一個(gè)數(shù)據(jù)結(jié)構(gòu):


  class NetTick:
  def __init__(self,dict={}):
  self.name=dict.get('name')#股票名稱
  self.yestclose=dict.get('yestclose')#昨日收盤價(jià)
  self.bidvol5=dict.get('bidvol5')#買5數(shù)量
  self.bidvol4=dict.get('bidvol4')#買4數(shù)量
  self.bidvol3=dict.get('bidvol3')#買3數(shù)量
  self.bidvol2=dict.get('bidvol2')#買2數(shù)量
  self.bidvol1=dict.get('bidvol1')#買1數(shù)量
  self.bid5=dict.get('bid5')#買5價(jià)格
  self.bid4=dict.get('bid4')#買4價(jià)格
  self.bid3=dict.get('bid3')#買3價(jià)格
  self.bid2=dict.get('bid2')#買2價(jià)格
  self.bid1=dict.get('bid1')#買1價(jià)格
  self.askvol5=dict.get('askvol5')#賣5數(shù)量
  self.askvol4=dict.get('askvol4')#賣4數(shù)量
  self.askvol3=dict.get('askvol3')#賣3數(shù)量
  self.askvol2=dict.get('askvol2')#賣2數(shù)量
  self.askvol1=dict.get('askvol1')#賣1數(shù)量
  self.ask5=dict.get('ask5')#賣5價(jià)格
  self.ask4=dict.get('ask4')#賣4價(jià)格
  self.ask3=dict.get('ask3')#賣3價(jià)格
  self.ask2=dict.get('ask2')#賣2價(jià)格
  self.ask1=dict.get('ask1')#賣1價(jià)格
  self.symbol=dict.get('symbol')#股票代碼第一位1:深交所0:上交所2北交所
  self.volume=dict.get('volume')#成交量
  self.price=dict.get('price')#當(dāng)前價(jià)格
  self.open=dict.get('open')#開(kāi)盤價(jià)
  self.low=dict.get('low')#最低價(jià)
  self.high=dict.get('high')#最高價(jià)
  self.code=dict.get('code')#去除標(biāo)記為的股票代碼
  self.turnover=dict.get('turnover')#成交額
  self.percent=dict.get('percent')#漲跌幅
  self.updown=dict.get('updown')#漲跌金額

  通過(guò)研究,我們發(fā)現(xiàn)126的接口支持多個(gè)股票查詢,那我們可以定義兩個(gè)方法,一個(gè)查單個(gè),一個(gè)查多個(gè),具體實(shí)現(xiàn)如下:


  import requests
  import re
  from models.nettick import NetTick
  from utils.packages import*
  class NetEaseData:
  staticmethod
  def get_realtime_data(symbol):
  """
  網(wǎng)易的實(shí)時(shí)數(shù)據(jù)接口
  :param symbol:股票代碼
  :return:Tick
  """
  code=NetEaseData.convert_market(symbol)
  try:
  response=requests.get("http://api.money.126.net/data/feed/{},money.api".format(code)).text
  re_find=NetEaseData.__re_find(response)
  if re_find is not None:
  find_stock=re_find.get(code)
  if find_stock is not None:
  return NetTick(find_stock)
  except Exception as e:
  logger.error('請(qǐng)求網(wǎng)易接口出錯(cuò),錯(cuò)誤信息:{}'.format(e))
  return None
  staticmethod
  def convert_market(other_market_code=str):
  """
  轉(zhuǎn)換通用股票代碼sz sh bj開(kāi)頭+股票代碼
  """
  if other_market_code[0:2].lower()=='sh':
  return'0'+other_market_code[2:]
  elif other_market_code[0:2].lower()=='sz':
  return'1'+other_market_code[2:]
  else:
  return'2'+other_market_code[2:]
  staticmethod
  def get_realtime_datas(symbols=[]):
  """
  網(wǎng)易的實(shí)時(shí)數(shù)據(jù)接口
  :param symbols:股票代碼列表
  :return:Ticks列表
  """
  codes=[NetEaseData.convert_market(code)for code in symbols]
  result=[]
  try:
  response=requests.get("http://api.money.126.net/data/feed/{},money.api".format(','.join(codes))).text
  re_find=NetEaseData.__re_find(response)
  if re_find is not None:
  for code in re_find:
  item=re_find[code]
  result.append(NetTick(item))
  except Exception as e:
  logger.error('請(qǐng)求網(wǎng)易接口出錯(cuò),錯(cuò)誤信息:{}'.format(e))
  return result
  staticmethod
  def __re_find(response):
  find=re.findall(r"_ntes_quote_callback((.*));",response)
  if len(find)>=1:
  return to_obj(find[-1])
  return None
  if __name__=='__main__':
  ticks=NetEaseData.get_realtime_datas(['sh588000','sz000001','bj831010'])
  [print(tick.symbol,tick.name,tick.price)for tick in ticks]
  tick=NetEaseData.get_realtime_data('sz127045')
  print(tick.symbol,tick.name,tick.price)


  使用也非常簡(jiǎn)單


  NetEaseData.get_realtime_data:獲取單個(gè)股票


  NetEaseData.get_realtime_datas:獲取多個(gè)股票數(shù)據(jù)


  這里我股票代碼用的是兼容原有新浪模式的,你可以自己做下修改。

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/129083.html

相關(guān)文章

  • python做投資--多因子策略

    摘要:如果我們把這三個(gè)因子都加進(jìn)去會(huì)怎樣呢收益率為倍,沒(méi)有剛才那么好了,還是剛才的和凈利潤(rùn)環(huán)比增長(zhǎng)率這兩個(gè)因子比較好,那就保留兩個(gè)吧。因此,我們可以考慮使用排名的方法,對(duì)這些因子進(jìn)行排名。 導(dǎo)語(yǔ):每一位寬客都相信,影響股票漲跌的因素不勝枚舉,而這些因素就是因子!本文作為一篇合格的入門教程,提供代碼當(dāng)做框架,各路寬客可以自己測(cè)試,查看收益率,亦可利用聚寬python平臺(tái)自行構(gòu)建代碼。 規(guī)范源碼...

    zilu 評(píng)論0 收藏0
  • python爬蟲(chóng)實(shí)戰(zhàn)二——股票數(shù)據(jù)定向爬蟲(chóng)

    摘要:選取方法打開(kāi)網(wǎng)頁(yè),查看源代碼,搜索網(wǎng)頁(yè)的股票價(jià)格數(shù)據(jù)是否存在于源代碼中。將上述的代碼封裝成一個(gè)函數(shù),對(duì)東方財(cái)富網(wǎng)頁(yè)面解析的完整代碼如下所示接下來(lái)是獲得百度股票網(wǎng)鏈接描述單只股票的信息。 功能簡(jiǎn)介 目標(biāo): 獲取上交所和深交所所有股票的名稱和交易信息。輸出: 保存到文件中。技術(shù)路線: requests---bs4--re語(yǔ)言:python3.5 說(shuō)明 網(wǎng)站選擇原則: 股票信息靜態(tài)存在于ht...

    icattlecoder 評(píng)論0 收藏0
  • 【LeetCode】貪心算法--買賣股票最佳時(shí)機(jī) II(122)

    摘要:貪心算法每一步必須滿足一下條件可行的即它必須滿足問(wèn)題的約束。四題目分析貪心算法,總是做出在當(dāng)前看來(lái)是最好的選擇,不從整體最優(yōu)上加以考慮,也就是說(shuō),只關(guān)心當(dāng)前最優(yōu)解,按照貪心策略,不關(guān)心以后,我們只關(guān)心當(dāng)前利益。 一、寫在前面 為什么要在LeetCode刷題?大家都知道不管是校招還是社招算法題是必考題,而這一部分恰巧是大多數(shù)人的短板,所以刷題首先是為了提高自身的編程能力,能夠在算法面試中...

    xbynet 評(píng)論0 收藏0
  • 量化交易之股票數(shù)據(jù)獲取——同花順軟件

    摘要:將另存為格式時(shí),文件將工作表中的單元格所顯示的文本和數(shù)值以逗號(hào)分離進(jìn)行保存。方法此處使用模塊的函數(shù)讀取文件,函數(shù)以字典形式返回,字典的鍵則是這個(gè)單元格的標(biāo)題即列頭,每一個(gè)單元格內(nèi)容放在字典的值內(nèi)。 前言 數(shù)據(jù)是進(jìn)行量化交易的基礎(chǔ)和關(guān)鍵,目前國(guó)內(nèi)做量化產(chǎn)品的金融機(jī)構(gòu)大部分是從券商獲取高頻實(shí)時(shí)行情數(shù)據(jù)的,另外很多金融網(wǎng)站也提供了數(shù)據(jù)接口,可以調(diào)用接口方式獲取,也可以用爬蟲(chóng)的方式獲取。文本講...

    Chaz 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<