r語言讀取股票交易數據
① 想要開發一個股票交易軟體 需要怎樣獲取實時數據 數據介面
惠德贏策 大家記住了啊,這個垃圾公司老闆叫:祝清。公司內部垃圾就算了,公司出的產品都是騙人的,還有他們開發的一個模擬炒股的網站要交錢才能炒股,都是騙人的,大家千萬別上當受騙,這家公司老闆超級卑鄙,合夥別人把他原來的公司給搞垮自己開公司,不過心在自己公司也快倒閉了,員工工資都發布出來了,哈哈,真雞-巴爽呀,那個B兒子真沒話說了。
我就是受害者呀,噴血相告,切記呀
② 如何用R讀取數據
在R語言裡面,有很多讀取數據的方法。R能讀文本文件,csv格式文件,通過RODBC包讀取資料庫數據等等。下面我介紹幾種最基本的讀取數據的方法!
工具/原料
RStudio
方法
不管是讀取數據還是寫入,R都是在工作路徑中完成的。所以首先我們要知道我們的R所在的工作路徑是在哪裡。使用getwd()函數來獲取我們的工作路徑。
下面查看工作路徑裡面有哪些文件,使用dir()函數
如果你所想導入的數據並不在你當前的工作路徑中,有兩種方法可以解決。第一種就是把數據文件放到工作路徑中,第二種方法就是更改工作路徑。更改工作路徑使用setwd()函數。比如你想要把工作路徑設置成桌面
現在我讀取我工作路徑中,名字為hw1_data.csv的文件。使用read.csv()函數
也可以使用read.table()函數來讀取csv格式的文件。由於csv文件的分隔符是「,」所以我們在用read.table()函數的時候,sep參數,我們要設定為sep=「,」
發現read.table()讀出來的數據,列名並不是我們文件中的列名,而是V1,V2。。。我們需要加上header這個參數來修改這個問題
另外在read.table()函數族中還有很多參數,對我們讀取數據都有幫助,大家可以去了解下。使用?read.table()進行了解
③ 如何在r語言中抓取股票數據並分析論文
用quantomd包
然後getsymbols函數
分析論文 要看你研究方向
如果是看影響因素 一般回歸就行
如果看股票波動和預測 可能需要時間序列
④ 如何在R語言中讀入數據和導出存儲數據
1.R數據的保存與載入
可通過save()函數保存為.Rdata文件,通過load()函數將數據載入到R中。
[ruby]view plain
>a<-1:10
>save(a,file='d://data//mData.Rdata')
>rm(a)#將對象a從R中刪除
>load('d://data//mData.Rdata')
>print(a)
[1]12345678910
- 2.CSV文件的導入與導出
>var1<-1:5
>var2<-(1:5)/10
>var3<-c("Rand","DataMining","Examples","Case","Studies")
>df1<-data.frame(var1,var2,var3)
>names(df1)<-c("VariableInt","VariableReal","VariableChar")
>write.csv(df1,"d://data//mmmyData.csv",row.names=FALSE)
>df2<-read.csv("d://data//mmmyData.csv")
>print(df2)
110.1Rand
220.2DataMining
330.3Examples
440.4Case
550.5Studies
- 3.通過ODBC導入與導出數據
library(RODBC)
connection<-odbcConnect(dsn="servername",uid="userid",pwd="******")
query<-"SELECT*FROMlib.tableWHERE..."
#orreadqueryfromfile
#query<-readChar("data/myQuery.sql",nchars=99999)
myData<-sqlQuery(connection,query,errors=TRUE)
odbcClose(connection)
- sqlSave()和sqlUpdate()用於寫入或更新一個ODBC資料庫表。
library("RODBC")
conn<-odbcConnectExcel("D:/data/Amtrak.xls")
Amtrak<-sqlFetch(conn,"Data")
close(conn)
下面創建df1的數據框,通過函數write.csv()保存為一個.csv文件,然後通過read.csv()將df1載入到數據框df2中。
[ruby]view plain
RODBC提供了ODBC資料庫的連接。
3.1從資料庫中讀取數據
odbcConnect()建立一個資料庫連接,sqlQuery()向資料庫發送一個SQL查詢,odbcClose()關閉資料庫連接。
[ruby]view plain
3.2從Excel文件中導入與導出數據
[ruby]view plain
⑤ 如何用R語言提取股票行情數據
你好,關於股票價格有關的開盤價格,當日最高價格,當日最低價格,收盤價格,股票交易量;和調整後的價格;
DIA.Open 當日開盤價格
DIA.High 當日最高價格
DIA.Low 當日最低價格
DIA.Close 當日收盤價格
DIA.Volume 當日股票交易量
DIA.Adjusted 當日調整後的價格
⑥ 如何編程從免費股票軟體中提取實時數據
自己寫程序的話,一種方法是從已提供的信息源,例如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'))
⑦ R語言下有沒有好的辦法獲得股票的財務數據
可用RCurl包,從新浪財經等網站下載數據,然後再分析。
include <QtCore/QCoreApplication>
#include <QAxObject>
#include <Windows.h>
int main(int argc, char *argv[])
{
//OleInitialize(0);
//CoInitialize(0);
QCoreApplication a(argc, argv);
QAxObject *asdfg = new QAxObject("Excel.Application");
return a.exec();
}
⑧ R語言quantmod包下載的股票數據中如何確定某一數據的日期
篩選到這個行,然後輸出