如何获得股票实时行情
很多时候,咱们需要将网页中的数据导入到Excel里做进一步的分析汇总,比如每天的股市行情、外汇牌价、开奖信息等等。接下来,就来演示一下,从下面这个网页中导入中国银行的每日外汇牌价。接下来具体说说
上次讲了用webservice的方法获得网络数据,从而实现实时股票数据的获取。这个方法是可行,但实际使用当中有两个缺点:一是,有时候数据获取不完整;二是,对数据的分割不方便,要使用最新的excel版本。所以,今天讲一下用power query的方法获取批量的数据。
1、什么是power query
查询增强版(Power Query)是一个Excel插件,是Power BI的一个组件。
Power Query在Excel中通过简化数据发现、访问和合作的操作,从而增强了商业智能自助服务体验。
2、power query的初体验
我们打开excel,数据-->自网站-->输入股票网址 “http://qt.gtimg.cn/q=sz002241”
点击确认后,在出现的导航器中,点击document,选择“加载”,如果出现隐私对话框,就点确认。
然后,双击已经加载的数据,进入power query
我们现在只是为了体验它,所以,可以随意点击,看看有没有我们想要的数据。看到这个图标,就双击展开,然后在对话框中点确认。
直到看到自己想要的数据出现,是不是很神奇?
以上只是初步的体验,我们想要为我所用,还需要知道一些极为基本的获取数据的函数。
3、power query获取批量的股票信息
刚才我们是输入了一个网址,对应了一个股票的信息,那么,如果我们的股票列表是成百上千,它可以批量处理吗?答案是肯定的。
主要步骤如下:
A)建立股票代码、交易所和对应的网址信息
这些都可以自动判定和生成,这个比较简单,这里就不详细讲解了。每个股票根据代码特征,区分在上海还是深圳交易所,然后对应不同的网址。
B)进入power query
数据,选择自区域
C)获取数据
进入power query后,再新增一列,以便获取相应的网络数据。
然后输入这列的名字,我们命名为data,然后输入一个简单的函数,就可以获得网络数据了。
函数为:web.page(Web.Contents([网址])),其中“网址”就是左边的列,可以双击**。
出现隐私提示,就点确认继续。
恭喜你,似曾相识的图标出现了,我们可以自由点击了
经过多次点击后,出现了这些数据:这就是我们想要的初步数据:
D)数据处理
我们先把不需要的数据删掉,一步步的删除不需要的行和列。直到出现这样的:
然后,将数据分开:
这样就按照字符,将数据分割开来了,当然,分割的过程中产生的空列,我们也可以直接删除掉,经过处理,就成为我们想要的数据了。
然后,我们再根据数据的特性,将每一个列重命名,他们按顺序,分别是:
E)数据扩充
有以上的数据对我们来说,还是远远不够的,我们需要添加我们的持仓价格和止亏止盈价格,添加了分时图和K线图,以便判断是否需要买卖。以下的供参考:
F)数据刷新
点击刚才的数据,选择数据--->刷新--->连接属性,可以选择刷新频率是多少分钟。
这样的话,我们只要保持excel打开,它就可以自动刷新在线数据了。
怎么样?是不是很简单,通过学习这个,我们还可以获取很多网页数据,比如天气信息等。
股票的风险体现在其的波动性上,股票价格的波动相对于许多资产要高很多,不少投资者对此感到疑惑,那么股价为什么会实时变动呢?
股价为什么会实时变动?
股价之所以会实时变动是因为股票不断处于交易当中,买卖双方会按照实际情况对股票申报价格,而市场则按照一定的规则来选取成交价格,但是随着买卖双方的判断发生改变,申报价格也会发生改变,所以成交价格也会改变。
理论离不开实践,可以去叩富简投举办的大部分人炼股争霸赛中去练习论证,高额的奖金吸引着众多的民间炒股高手一同竞技!
股票交易实行的是竞价交易,在交易时间内则是连续竞价,连续竞价时,成交价格的确定原则为:
【1】*高买入申报和最低卖出申报价格相同,以该价格成交;
【2】买入申报价格高于即时揭示的最低卖出申报价格时,以即时揭示的最低卖出申报价格为成交价格;
【3】卖出申报价格低于即时揭示的*高申报买入价格时,以即时揭示的*高申报买入价格为成交价。
在这个网页中,外汇牌价的信息一共有10页,如果使用Excel 早期版本中的导入网页数据功能,默认只能导入靠前页的信息。接下来咱们以Excel 2016为例,说说导入全部10页信息的具体操作过程。
步骤1 依次单击【数据】→【自网页】,输入以下网页链接:https://www.boc.cn/sourcedb/whpj/index_1.html在【导航器】对话框中选择 Table 0,将数据加载到Power Query编辑器。
注意此时只加载了靠前页的信息,还需要咱们进一步的处理一下。 步骤2 单击【高级编辑器】按钮,弹出【高级编辑器】对话框。在 let语句之前添加以下内容,将查询转换为参数化的函数:(page as number) as table=>据说这个两个as语句是指定参数类型的,这里咱们先暂时记住这样用。接下来将url中表示页面的数值“1”替换为以下内容,来构建一个动态的查询参数字符串:" & Number.ToText(page) & "
原图
修改后
单击【完成】按钮,会出现这样的界面:
步骤3 接下来要生成一组序号,作为刚刚定义的函数的页码参数。在左侧的查询列表中单击右键,新建空查询。在【高级编辑器】里输入以下内容:{1..10}这里的10,可以根据实际页码数来确定。最后单击【到表】按钮,转换为Table。
步骤4 双击查询名称“Table 0”,输入一个容易记忆的名称,比如“ Web”
步骤5 在“查询1”中添加自定义列:=Web([Column1])
步骤6 由于咱们定义的页数比网页中的实际页数要多,所以最后一行出现了错误值,需要先将其删除,然后再展开数据,加载到工作表中。
以上就是如何获得股票实时行情?的详细内容,希望通过阅读小编的文章之后能够有所收获!