temp

# TODO: Add comment
# 
# Author: Administrator
###############################################################################

#install.packages("bitops")
#install.packages("RCurl")
#install.packages("XML")
#install.packages("plyr")

#import library needed for dowloading data
library(bitops)
library(RCurl)
library(XML)
library(plyr)

#read data from excel
#读取数据前将xls转换成csv文件
sa <- read.csv("AAA.csv", stringsAsFactors = FALSE);
sb <- read.csv("BBB.csv", stringsAsFactors = FALSE);

#dowload data 
days <- 6
endday <-Sys.Date()
from <- endday - days
to <- endday
symbol <- ''
url <- ''
result <- data.frame(name = character(), code = character(), stringsAsFactors = FALSE)

for(ii in 1:length(sa[,1])){
	print(ii)
	symbol = paste('sh',sa[ii,1],sep='')
	url=paste('http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?symbol=',symbol,'&end_date=',to,'&begin_date=',from,sep='')
	raw <- getURL(url)
	tryCatch({
		cutData= do.call(rbind, xmlToList(raw))
		cutlength = length(cutData[,1])
		#if(length(cutData[,1]) == days){
		v3 = (as.numeric(cutData[cutlength-2,2]) + as.numeric(cutData[cutlength-2,4]))/2 ;
		v2 = (as.numeric(cutData[cutlength-1,2]) + as.numeric(cutData[cutlength-1,4]))/2;
		v1 = (as.numeric(cutData[cutlength,2]) + as.numeric(cutData[cutlength,4]))/2;
			if(as.numeric(cutData[cutlength-2,2]) > as.numeric(cutData[cutlength-2,4]) 
					&& as.numeric(cutData[cutlength-1,2]) > as.numeric(cutData[cutlength-1,4])
					&& as.numeric(cutData[cutlength,2]) <= as.numeric(cutData[cutlength,4])){
						if(v3 > v2 && v2>v1){
							newData = data.frame(name=sa[ii,2],code=sa[ii,1])
							result = rbind(result,newData)
						}
			}
		#}
	},error = function(e){
		""
	})
}

for(jj in 1:length(sb[,1])){
	print(jj)
	symbol = paste('sz',sb[jj,1],sep='')
	url=paste('http://biz.finance.sina.com.cn/stock/flash_hq/kline_data.php?symbol=',symbol,'&end_date=',to,'&begin_date=',from,sep='')
	raw <- getURL(url)
	tryCatch({
				cutData= do.call(rbind, xmlToList(raw))
				cutlength = length(cutData[,1])
				#if(length(cutData[,1]) == days){
				v3 = (as.numeric(cutData[cutlength-2,2]) + as.numeric(cutData[cutlength-2,4]))/2 ;
				v2 = (as.numeric(cutData[cutlength-1,2]) + as.numeric(cutData[cutlength-1,4]))/2;
				v1 = (as.numeric(cutData[cutlength,2]) + as.numeric(cutData[cutlength,4]))/2;
					if(as.numeric(cutData[cutlength-2,2]) > as.numeric(cutData[cutlength-2,4]) 
							&& as.numeric(cutData[cutlength-1,2]) > as.numeric(cutData[cutlength-1,4])
							&& as.numeric(cutData[cutlength,2]) <= as.numeric(cutData[cutlength,4])){
						if(v3 > v2 && v2>v1){
							newData = data.frame(name=sa[jj,2],code=sa[jj,1])
							result = rbind(result,newData)
						}
					}
				#}
			},error = function(e){
				""
			})
}

fileName <- paste('result',Sys.Date(),'.csv',sep='')
write.csv(result, file = fileName)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值