楼主: davil2000
23554 113

[程序分享] 基于SAS平台从互联网上获取证券报价   [推广有奖]

院士

98%

还不是VIP/贵宾

-

TA的文库  其他...

☆大数据时代文库☆

威望
4
论坛币
29697 个
通用积分
13.2845
学术水平
1172 点
热心指数
1121 点
信用等级
1143 点
经验
96908 点
帖子
2694
精华
19
在线时间
3003 小时
注册时间
2004-10-31
最后登录
2022-6-10

相似文件 换一批

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
为了能够及时跟踪证券市场的行情,证券分析师或者投资者需要及时“刷新”浏览器来检查各类报价。那么,如何以SAS系统为平台从互联网上直接获取证券报价?这里将通过一个简短的SAS程序和宏代码,展示如何基于SAS URL技术来检索广域或者局域网站的数据。这样,有兴趣的人们便可以基于SAS平台,通过数据分析来把握证券的实时走势了。
/*------------------------------------------------------------------*/
/* Ticker.sas – A Simple Stock Quote Retrieval Program */
/*------------------------------------------------------------------*/

filename in url
"
http://finance.yahoo.com:80/d/quotes.txt?s=YHOO+IBM+HPQ&f=sl1d1t1c1ohgv&e=.txt)";
data;
infile in dsd end=eof termstr=crlf;
input Ticker : $4. Price TradeDate : $10. TradeTime: $7. Change Open High Low Volume;
options nodate nonumber nocenter ls=70;
proc print width=u;
title 'Stock Quotes';
id Ticker;
run;
simple.png
/*-----------------------------------------------------------------------*/
/* TickerMacro.sas – Stock Quote Retrieval With Refresh     */
/*    Parameters:                                                            */
/*   SYMBOLS stock symbols                                             */
/*   SLEEP  seconds between stock quote refreshes             */
/*   MAX   number of times to refresh stock quotes              */
/*   OUT   sas data set name containing stock quotes          */
/*------------------------------------------------------------------------*/

%macro GetQuotes(Symbols=, Sleep=1, Max=10,Out=work.getquotes);
*--> Fetch Stock Quotes Specified Number Of Times;
%do i=1 %to &max;

filename in url
"
http://finance.yahoo.com:80/d/quotes.txt?s=&symbols.&f=sl1d1t1c1ohgv&e=.txt)";
*--> Retrieve Stock Quotes From Yahoo;
data;
infile in dsd end=eof termstr=crlf;
input Ticker : $4. Price TradeDate : $10. TradeTime: $7. Change Open Hi Lo
Volume;
AsOf=put(today(),yymmdd10.)||' At '|| put(time(),time8.);
*--> Add Stock Quotes To SAS Data Set;
proc append base=&out data=_last_;
options nodate nonumber nocenter ls=70 ps=1000;
*--> Produce Cumulative Stock Quote Comparison Report;
proc tabulate data=GetQuotes;
Title Stock Quotes By Ticker;
class Ticker AsOf TradeDate TradeTime;
var Price Change;
tables Ticker*AsOf*TradeDate*TradeTime, (Price Change)*f=7.2 / rts=50;
keylabel sum=' ';
*--> Pause Specified Number Of Seconds Between Refreshes;
data;
%if &i<=&max %then
x=sleep(&sleep);;
run;

%end;
%mend;
/* Get Quotes For Yahoo, IBM, and Hewlett Packard Wait 5 Minutes (300 */
/* Seconds) Before Refreshing Stock Quotes Refresh Quotes 36 Times    */
/*%GetQuotes(Symbols=YHOO+IBM+HPQ, Sleep=300, Max=36);*/
%GetQuotes(Symbols=YHOO+IBM+HPQ, Sleep=10, Max=5);
quotes.png
/* 看官,请点击帖子左下角的“评分”给点鼓励吧! */

二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:SAS平台 互联网 parameters cumulative Comparison 报价 SAS 证券

回帖推荐

zhentao 发表于34楼  查看完整内容

那个url如果对方变了的话,是要靠手工重置。能不能设置一个动态的,跟踪对方的url变动。 另外,那个futures的东西似乎还没有免费的url提供。都是要花钱的。cboe只提供近五天的,然后是向后滚动。如果能跟踪这个滚动的话,也可以连续下载。但是很辛苦。麻烦您看看能不能搞一下。
已有 45 人评分经验 论坛币 学术水平 热心指数 信用等级 收起 理由
8848sovereign + 1 精彩帖子
qiangyoung + 1 + 1 + 1 观点有启发
王者归来14 + 1 + 1 精彩帖子
Bugjay + 1 + 1 精彩帖子
opq890 + 1 + 1 + 1 热心帮助其他会员
gongzhiheng + 1 + 1 + 1 精彩帖子
wqhx620 + 1 + 1 + 1 对论坛有贡献
William_G + 1 + 1 + 1 精彩帖子
byronbai + 1 应用很新颖阿!
冰雨狼 + 1 观点有启发

总评分: 经验 + 320  论坛币 + 200  学术水平 + 64  热心指数 + 58  信用等级 + 51   查看全部评分

本帖被以下文库推荐

R是万能的,SAS是不可战胜的!
沙发
guo.bailing 发表于 2012-12-22 12:11:25 |只看作者 |坛友微信交流群
哈哈,楼主的签名亮了
自助者,天助之!

使用道具

藤椅
大数据之魂 发表于 2012-12-23 08:44:11 |只看作者 |坛友微信交流群
SAS URL技术不仅可用来接收股票报价  
做互联网的文本挖掘也是可以的

使用道具

板凳
瀚海星云 发表于 2012-12-23 13:33:28 |只看作者 |坛友微信交流群
take a look and leave a mark!

使用道具

报纸
Tigflanker 发表于 2012-12-23 23:42:37 |只看作者 |坛友微信交流群
页面保存下来,慢慢啃,感谢大神分享~~~
很有启示。。
Bye SAS.
若有缘,能重聚。

使用道具

地板
石瑞 在职认证  发表于 2012-12-24 10:06:00 |只看作者 |坛友微信交流群
louzhuqueshilihaia
假如爱有天意!

使用道具

7
浅水蛟龙 发表于 2012-12-24 10:16:50 |只看作者 |坛友微信交流群
感谢楼主

使用道具

8
complicated 在职认证  发表于 2012-12-24 10:20:57 |只看作者 |坛友微信交流群
davil大,
在公司试了一下,报错:10060 - WSAETIMEDOUT.
查了一下,似乎是网络环境的问题,
能在SAS里设置访问网络的代理服务器吗?
密码被盗??

使用道具

9
davil2000 发表于 2012-12-24 10:29:55 |只看作者 |坛友微信交流群
complicated 发表于 2012-12-24 10:20
davil大,
在公司试了一下,报错:10060 - WSAETIMEDOUT.
查了一下,似乎是网络环境的问题,
    During a SAS 9.3 installation, a SAS environment URL dialog box might appear if the initial values are undefined.
    When this dialog box appears, enter values for the SAS environment URL settings. The values should be in the following form:
    http://hostname:port/SASLogon/sas-environment.xml
where hostname is the fully qualified hostname of yourPC, and port is the default port for your Web application server.
For example, the URL setting of my office PC is as following:
    http://pinggu-sas:7111/SASLogon/sas-environment.xml
R是万能的,SAS是不可战胜的!

使用道具

10
xlpan 发表于 2012-12-24 10:41:24 |只看作者 |坛友微信交流群
哪中国股市的数据怎么获取呢,请指教。

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-25 09:36