Ⅰ R語言怎麼把股票日收盤價轉換成對數收益率
知道一系列收盤價向量X,length=1000,求對數收益率的R語言代碼
acf(int[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
log return')
Box.test(int[,2], lag = 5, type = "Ljung-Box")
Box.test(int[,2], lag = 10, type = "Ljung-Box")
Box.test(int.l[,2], lag = 5, type = "Ljung-Box")
Box.test(int.l[,2], lag = 10, type = "Ljung-Box")
運行結錯誤辦
> int <- read.table("d-intc7208.txt", head=T)
錯誤於file(file, "rt") : 打鏈結
外: 警告信息:
In file(file, "rt") :
打文件'd-intc7208.txt': No such file or directory
+ acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int monthly
錯誤: 意外符號 in:
"
acf(int.l[,2], lag.max = 15,type = "correlation", plot = TRUE,main='int"
> log return')
錯誤: 意外符號 in "log return"
Ⅱ 請問用C#如何提取新浪等網站的股票實時動態行情數據
找到一個利用webservice的方法,希望能夠幫助你
聲明: 這篇文章適合在C#命令行編譯器下的開發借鑒,對於已經裝了MS.NET的朋友,開發客戶端時將會更容易一些,我隨後對登出我自己的開發程序,這篇文章為我摘錄的.摘錄URL:http://www.knowsky.com/2016.html
(一)
Web Services,即Web服務,是微軟.NET戰略中非常重要的一個概念。它的目的是將Web站點轉變為集組織、應用、服務以及設備於一體的可設計Web站點,使Web站點不再處於被動的地位。
本文將介紹如何建立和使用一個在.NET 平台上提供股票報價的Web服務。我們將使用Yahoo的一項以CSV(以逗號分隔的值)的格式提供股票報價的免費服務,將其包含在我們的web 服務中。
注意:這個報價服務常式的運行大約延遲15分鍾,只用於教學目的。
建立Web服務
下面將採用逐步講解代碼的形式來幫助你理解在.NET 中Web服務的編程模式。我們可以使用notepad等任何文本編輯器來編寫 這里的Web服務常式代碼,最後將文件存儲為StockQuote.asmx。請注意:所有的Web服務文件保存時都使用擴展名 *.asmx。
<%@ WebService Language="C#" class="DailyStock" %>
代碼的第一行定義了一個 Web 服務,使用的語言是C#。class屬性用來指示Web服務應該調用和使用的類。如果在Web服務中使用了許多類,那麼就應該用這個屬性來表明Web服務應該首先調用的類。
using System ;
using System.Web.Services ;
using System.Net ;
using System.IO ;
using System.Text ;
以上代碼負責引入必要的名稱空間。 請記住永遠都要引入System.Web.Services這個名稱空間。根據類的需要,再引入保留的名稱空間。
public class DailyStock : WebService
{
......
....
}
這里我們將公共類定義為 DailyStock,它擴展了 System.Web.Services.WebService 類。所有想暴露為 Web服務的類都應該擴展System.Web.Services.WebServices類。 另外,Web 服務的存取修飾語永遠都是public。
[WebMethod]
public string GetQuote(string symbol)
{
........
........
}
以上我們定義了一個公共Web方法 GetQuote。同類的定義一樣,Web 方法也都要用 public這個修飾語來聲明。 [WebMethod] 屬性呈現出將要被用在Web服務中的一些潛在方法,希望客戶存取的所有方法都應該用[WebMethod] 屬性進行標記。GetQuote方法接受一個字元串輸入參數,它包含了使用者所需要的報價符號。這個方法返回一個字元串,其中包含股票報價或錯誤
string ret;
try
{
// The Path to the Yahoo Quotes Service
string fullpath = @"http://
// Create a HttpWebRequest object on the Yahoo url
HttpWebRequest webreq = (HttpWebRequest)WebRequestFactory.Create(fullpath);
// Get a HttpWebResponse object from the Yahoo url
HttpWebResponse webresp = (HttpWebResponse)webreq.GetResponse();
// Create a StreamReader object and pass the Yahoo Server stream as a parameter
StreamReader strm = new StreamReader(webresp.GetResponseStream(), Encoding.ASCII);
// Read a single line from the stream (from the server)
// We read only a single line, since the Yahoo server returns all the
// information needed by us in just one line.
ret= strm.ReadLine();
// Close the stream to the server and free the resources.
strm.Close();
}
catch(Exception)
{
// If exception occurred inform the user
ret="Exception Occurred" ;
}
file://Return the Quote or Exception
return ret ;
以上是GetQuote 方法的內容。這里使用一個 try-catch模塊來截獲從Yahoo中得到股票報價的過程中可能發生的錯誤。在 try-catch模塊內部聲明了一個字元串變數,這個變數中保存著獲取yahoo服務的完整路徑,用戶提供的symbol字元串變數被加到這個連接字元串上。
路徑建立好之後,就要從連接字元串中構造一個 HttpWebRequest對象和一個 HttpWebResponse 對象。接著,用StreamReader打開一個到Yahoo
(二)
配置Web服務
配置Web 服務與一個配置ASP.NET應用程序相同。如果自己有Web伺服器,那麼就創建一個稱為stockquote 的虛擬目錄,然後將 StockQuote.asmx復制到這個目錄中。如此就完成了Web 服務的配製。要調用Web服務,首先啟動瀏覽器,然後鍵入Web 服務的路徑,如 http://localhost/stockquote/StockQuote.asmx,接著看到的頁面就是由Web服務運行時間環境自動生成的結果。在文本框中鍵入符號,例如AOL 或 MS,再點擊invoke按鈕,這時就會彈出一個新的窗口,在其中向你顯示了Web服務的輸出信息。
使用Web服務
基本上有兩種使用Web 服務的方法。可以通過瀏覽器直接調用 Web 服務,並按照上面介紹的方法來使用它。或者,也可以在應用程序使用它。下面就看看如何建立一個Web 應用程序和一個控制台應用程序,通過它們來使用Web服務。當然,也可以使用Win Form 應用程序作為替代來使用Web 服務。
獲取服務的描述
為了與Web服務進行通信,客戶應該知道這個Web服務支持哪種方法以及如何與它們進行通信。.NET 上的Web服務自動用SDL(服務描述語言)產生一個 XML格式文檔,這樣就使客戶能夠獲取與Web服務通信時所需要的信息。 在Web 服務URL之後附加 ?SDL 使Web服務生成客戶能夠使用的SDL文檔。要查閱這里接受的Web 服務的SDL,可以在瀏覽器中鍵入http://localhost/stockquote/StockQuote.asmx?SDL。
(三)
構造代理庫
.NET 平台上的應用程序可以使用代理庫來調用Web服務上的方法,這樣使用Web服務就非常容易。生成代理庫的第一步是從SDL中生成一個Web服務的代理類。.NET SDK提供了一個叫做WebServiceUtil.exe的工具,它能夠幫助我們生成一個代理類。要生成Web服務的代理類,首先進入命令行環境,然後轉到將要開發客戶應用程序的那個目錄,接著輸入以下命令:
WebServiceUtil /c:proxy /pa:http://localhost/stockquote/StockQuote.asmx?SDL /n:Quotes
以上命令執行後,會在運行這個命令的目錄中生成一個 C# 源代碼文件,叫做 DailyStock.cs (要記住Web服務類的名稱也是 DailyStock,)。現在來看這些自變數的含義:
l /c:proxy:告訴WebServiceUtil生成一個代理類
l /pa:http://localhost/stockquote/StockQuote.asmx?SDL:向SDL提供Web服務的路徑。如果已經將Web服務的SDL 保存到了硬碟上,我們甚至可以提供SDL文件的本地路徑。
l /n:Quotes:告訴WebServiceUtil將代理類放在 Quotes名稱空間。這樣做的目的是為了更容易地管理和使用代理庫。
代理庫准備好之後,我們使用C# 編譯器從上面步驟中剛創建的代理類中生成一個代理庫:
csc /target:library /r:System.dll;System.Web.Services.dll;System.Net.dll;
System.IO.dll;System.Xml.Serialization.dll DailyStock.cs
生成代理庫的時候,我們使用了 /target:library開關以表示想要輸出一個庫文件。我們還引用一些曾經在Web服務中使用過的集合。編譯器將在運行命令所在目錄中生成一個名為DailyStock.dll 的dll 庫。
(四)
創建 Web應用程序用戶
下面創建一個Web應用程序StockConsumer.aspx,它作為這個StockQuote(股票報價) Web服務的第一個用戶。
<%@ Page language="C#" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="Quotes" %>
以上引入必要的名稱空間。要記住也要引入 Quotes名稱空間,它是代理庫的名稱空間。
<html>
<head>
<script runat=server>
// Wire up the onClick event for a button
protected void button1_Click(object sender, EventArgs e)
{
file://Create a object of the class DailyStock (the proxy class)
DailyStock ds = new DailyStock();
// Call the GetQuote method of the proxy class DailyStock and
// pass the symbol string from the textbox
string res = ds.GetQuote(symbol.Text);
// The returned string has values which are separated
// by commas.
// Hence we split the returned string into parts
char[] splitter = {','} ;
string[] temp = res.Split(splitter);
// Check if the string array returned has more than one
// elements since if there are less than one elements
// then an exception must have been returned
if(temp.Length >1)
{
// The WebService returns a lot of information about the
// stock. We only show the relevant portions
// Set the label to current Index
curindex.Text = "Current Index :"+temp[1];
// Set the label to current Date Time
curdate.Text ="Last Update on"+temp[2]+" at "+temp[3];
}
else
{
error.Text = "Error :"+res ; file://set the error label
}
}
</script>
以上ASP.NET頁面代碼中,首先對Web 服務DailyStock進行例示。由於已經生成了代理庫,因此Web服務的調用方法與其它任何庫的調用方法都相同。調用DailyStock 類的GetQuote()方法後,將返回一個字元串,其中包含了以逗號分隔的列表符號的完整信息。
我們將限制顯示給客戶的信息為只顯示當前指數和所報告指數的日期/時間。為了將字元串分成若干不同的部分,這里使用了字元串類的Split方法,在出現逗號的地方將字元串分割成部分。並且,將分割開的字元串組成數組之後,再使用相關的數值為Web頁面設置不同的標簽。
代碼的其餘部分
<body>
<center>
<h2>.NET101 Stock Quote Consumer </h2>
<form runat=server >
<table border=1 celspacing=1>
<tr><th>Please enter the symbol below</th></tr>
<tr><td>
<asp:textbox id=symbol runat=server />
<asp:button id=button1 text="Get Quote" onClick="button1_Click" runat=server />
</td></tr>
<tr><td><asp:label id=curindex runat=server /></td></tr>
<tr><td><asp:label id=curdate runat=server /></td></tr>
<tr><td><asp:label id=error runat=server /></td></tr>
</table>
</form>
</center>
</body>
</html>
(五)
小結
下面總結一下配置Web應用程序的步驟:
l 創建一個叫做StockConsumer的虛擬目錄
l 將 StockConsumer.aspx 文件復制到這個虛擬目錄下
l 在wwwroot 文件夾中創建一個 bin 虛擬目錄
l 設置bin目錄以執行代碼的許可權
l 將代理 dll 文件DailyStock.dll復制到這個目錄下,ASP.NET 運行時間引擎會自動從Bin目錄中選擇對外部庫的引用。這里的例子中,這個外部庫是DailyStock.dll。
現在調用文件 http://localhost/StockConsumer/StockConsumer.aspx,然後鍵入股票的符號,點擊 "Get Quote"(獲取報價)按鈕,就能看到正在使用的Web服務了。注意:Web服務應該能夠使用yahoo伺服器,否則它就會返回一個錯誤信息。
Ⅲ R語言里的一個語句不明白啥意思
在quantmod包裡面;
getSymbols(Symbols = NULL,
env = parent.frame(),
reload.Symbols = FALSE,
verbose = FALSE,
warnings = TRUE,
src = "yahoo",
symbol.lookup = TRUE,
auto.assign = getOption('getSymbols.auto.assign',TRUE),
...)
auto.assign=F表示不自動賦值;需要手動指定變數去存儲數據。否則就是自動賦值給Symbols變數。
Ⅳ 濡備綍緋葷粺鍦板︿範 R 璇璦鐨勫悇縐 packages
瀵逛簬R璇璦鐨勭湡姝d嬌鐢ㄨ呴摱琚滄℃潵璇達紝R鏈澶х殑闂棰樹笉鏄鎱錛岃屾槸紼嬪簭鍖呯殑鏉備貢錛屽珜瀹冩參鐨勪竴寮濮嬪氨涓嶄細鐢≧銆傛垜璁や負榪欎釜闂棰樺彲浠ュ垎涓轟袱閮ㄥ垎錛屼竴涓鏄濡備綍閫夋嫨鑷宸遍渶瑕佺殑鍖咃紝涓涓鏄濡備綍瀛︿範榪欎簺鍖呫
鎴戞妸紼嬪簭鍖呭垎涓轟笁綾伙紝絎涓縐嶆槸鍔熻兘澧炲己鍨嬶紝姣斿倆oo鍜実gplot2錛屼粬浠鐨勫姛鑳藉師鏈鍙浠ョ敤綣佺悙鐨勪唬鐮佸疄鐜幫紝浣嗘槸閿嬫梺浣跨敤榪欎簺鍖呭彲浠ュ疄鐜扮殑鏇村揩鎴栬呮洿濂斤紱絎浜岀嶆槸緇熻″緩妯″瀷錛屼笓闂ㄤ負鏌愪釜緇熻¢嗗煙鎴栨ā鍨嬭屽仛鐨勫寘錛屽皬鍒皐avelet榪欑嶄笓闂ㄥ仛灝忔嘗鍒嗚В鐨勫寘錛屽ぇ鍒癟SA榪欑嶆墍鏈夌粡嫻庣被涓撲笟閮界敤鐨勬椂闂村簭鍒楀寘閮藉睘浜庤繖涓綾匯傜涓夌嶆槸鐗瑰畾鍔熻兘鍨嬶紝榪欑嶅寘涓鑸闈炲父灝忎紬,姣斿傚垎瑙e拰鍒墮犻煶濂芥壈棰戠殑tuneR(鍙浠ョ敤瀹冩潵鍚鑲$エ浠鋒牸鐨勭櫧鍣澹板摝)錛屽啀姣斿傛垜鑷宸卞啓鐨勭敤浜巇ota2閫変漢鐨凴Dota錛圧鐗堟湰鏇存柊浠ュ悗宸茬粡涓嶈兘鐢ㄤ簡鏆傛椂鎳掑緱鏇存柊錛夛紝榪欑嶅寘涓瀹氭槸瑕佷箞寰堜笓涓氳佷箞寰堝ū涔愶紝涓嶅お闇瑕佸︿範鈥淩鈥,鑰屾槸榪欎釜鍔熻兘鏈韜錛岃繖涓綾婚兘涓嶅睘浜庝笅闈㈣ㄨ虹殑鑼冪暣銆
濡備綍閫夋嫨鑷宸遍渶瑕佺殑紼嬪簭鍖咃紵
瀵逛簬鍔熻兘澧炲己鍨嬪寘錛屾垜璁や負鍊煎緱緋葷粺瀛︿範鐨勫彧鏈塯gplot2錛屽叾浠栫殑鍖呭簲璇ユ槸浠涔堟椂鍊欑敤鍒幫紝鎴栬呬粈涔堟椂鍊欒佸埌錛屽氨浠涔堟椂鍊欏︺傛瘮濡備綘闇瑕佸勭悊鏃墮棿搴忓垪浜嗗氨浼氱敤鍒皕oo錛屾垨鑰呬綘涓婄綉璇劇湅鍒頒簡浠涔堢壒瀹氱殑鍔熻兘寰堜笉閿欙紝灝辯暀涓鍗拌薄錛屼粈涔堟椂鍊欓渶瑕佷簡鍐嶅洖鍘葷炕銆傚啀姣斿備綘宸ヤ綔鐨勬椂鍊欒夊緱R鎱錛屾兂鐭ラ亾鎬庝箞鎻愰珮R鐨勬晥鐜,鍘昏胺姝屼竴涓"how to improve computing performance in R",灝變細鎼滃埌CRAN瀹樻柟緇欏嚭鐨勪竴鐗囨枃絝燙RAN Task View: High-Performance and Parallel Computing with R
鎵浠ワ紝瑙佸埌浠涔堝氨璁幫紝闇瑕佷粈涔堝氨鎼滃氨鍙浠ヤ簡錛屽傛灉浣犳寜鐓R鍖呬笅杞介噺鍓10鐨勫寘涓涓涓涓瀛︼紝浣犲彲鑳藉叾涓90%鐨勫姛鑳介兘鐢ㄤ笉鍒幫紙娌¢敊灝辨槸90%錛屽洜涓烘瘡涓鍖呴噷閮芥湁寰堝氱妱瑙掓棶鏃浣犵敤涓嶅埌鐨勫姛鑳斤級銆
ggplot2瀹炲湪鏄澶寮哄ぇ浜嗭紝鐢ㄧ啛鎮変互鍚庡摢鎬曟槸鍦╩atlab閲屽啓鐨勭▼搴忔垜涔熸妸鏁版嵁璋冨埌R閲岀敾鍥撅紝鐒惰岃繖涓鍖呭緢澶嶆潅錛屼粠甯鍔╂枃浠墮噷浣犲緢闅懼揩閫熶笂鎵嬶紝鍥犳ら渶瑕佺郴緇熷︿範銆
Ⅳ R璇璦閲戣瀺娉㈠姩鐜囧緩妯|鍩轟簬SGED鍒嗗竷鐨勫彉鍙傛暟ARIMA+EARCH鍔ㄦ侀勬祴妯″瀷鐨勭爺絀
閲戣瀺娉㈠姩鐜囩殑R璇璦鎺㈢儲錛歋GED鍒嗗竷椹卞姩鐨勫彉鍙傛暟ARIMA+EARCH鍔ㄦ侀勬祴妯″瀷璇﹁В</
鐢遍噾鋙嶇珵璧涜幏濂栬咃紝R璇璦涓撳墮綈紲ヤ細甯︽潵鐨勬繁搴︾爺絀訛紝浠栧皢涓撲笟鐭ヨ瘑搴旂敤浜庡疄鎴橈紝鎺㈢儲娌娣5鑲$殑鏃ユ敹鐩婄巼娉㈠姩鎬ч勬祴銆傛湰鏂囩殑鐒︾偣鍦ㄤ簬鏋勫緩涓涓鍒涙柊鐨勬ā鍨嬶紝鍗砈GED鍒嗗竷鏀鎸佺殑鍙樺弬鏁癆RIMA+EARCH鍔ㄦ侀勬祴妯″瀷錛屾棬鍦ㄦ彮紺鴻偂紲ㄦ敹鐩婄巼鐨勨滃皷宄板帤灝鋸濈壒鎬т笌闈炲圭О娉㈠姩銆
鏍稿績鐮旂┒</
鍦ㄦ繁鍏ョ爺絀朵腑錛屾垜浠鍙戠幇錛
鍦ㄧ悊璁烘敮鎸佹柟闈錛岀爺絀跺熼壌浜嗗備笅鐨勫︽湳鎴愭灉錛
榻愮ゥ浼氱殑榪欎竴緋誨垪鐮旂┒錛屼笉浠呮繁鍖栦簡鎴戜滑瀵歸噾鋙嶆嘗鍔ㄧ殑鐞嗚В錛屼篃涓烘姇璧勮呮彁渚涗簡綺懼噯鐨勯勬祴宸ュ叿錛屽姪鍔涗粬浠鍦ㄩ噾鋙嶅競鍦轟腑鎶婃彙鏈洪亣銆
Ⅵ 有哪些關於 R 語言的書值得推薦
數據挖掘與R語言
本書首先簡要介紹了R軟體的基礎知識(安裝、R數據結構、R編程、R的輸入和輸出等)。然後通過四個數據挖掘的實際案例 (藻類頻率的預測、證券趨勢預測和交易系統模擬、交易欺詐預測、微陣列數據分類)介紹數據挖掘技術。這四個案例基本覆蓋了常見的數據挖掘技術,從無監督的 數據挖掘技術、有監督的數據挖掘技術到半監督的數據挖掘技術。全書以實際問題、解決方案和對解決方案的討論為主線來組織內容,脈絡清晰,並且各章自成體 系。讀者可以從頭至尾逐章學習,也可以根據自己的需要進行學習,找到自己實際問題的解決方案。
本書不需要讀者具備R和數據挖掘的基礎知識。不管是R初學者,還是熟練的R用戶都能從書中找到對自己有用的內容。讀者既可以把本書作為學習如何應用R的一本優秀教材,也可以作為數據挖掘的工具書。
機器學習:實用案例解析
機器學習是計算機科學和人工智慧中非常重要的一個研究領域,近年來,機器學習不但在計算機科學的眾多領域中大顯身手,而且成為一些交叉學科的重要支撐技 術。本書比較全面系統地介紹了機器學習的方法和技術,不僅詳細闡述了許多經典的學習方法,還討論了一些有生命力的新理論、新方法。
全書案例既有分類問題,也有回歸問題;既包 含監督學習,也涵蓋無監督學習。本書討論的案例從分類講到回歸,然後討論了聚類、降維、最優化問題等。這些案例包括分類:垃圾郵件識別,排序:智能收件 箱,回歸模型:預測網頁訪問量,正則化:文本回歸,最優化:密碼破解,無監督學習:構建股票市早閉鄭場指數,空間相似度:用投票記錄對美國參議員聚類,推薦系 統:給用戶推薦R語言包,社交網路分析:在Twitter上感興趣的人,模型比較:給你的問題找到最佳演算法。各章對原理的敘述力求概陸頌念清晰、表達准確,突 出理論聯系實際,富有啟發性,易於理解。在探索這些案例的過程中用到的基本工具就是R統計編程語言。R語言非常適合用於機器學習的案例研究,因為它是一種 用於數據分析的高水平、功能性腳本語言。
R語言經典實例
本書涵蓋200多個R語言實用方法,可以幫助讀者快速而有效地使用R進行數據分析。R語言給我們提供了統計分析酣一切工具,但是R本身的結 構可能有些難於掌握。本書提供的這些面向任務、簡明的R語言方法包含了從基本的分析任務到輸入和輸出、常用統計分析、繪圖、線性回歸等內容,它們可以讓你 馬上應用R高效地工作。
每一個R語言方法都專注於一個特定的問題,隨後的討論則對問題的解決方案給出解釋,並闡釋該方法的工作機理。對於R的初級用戶,《R語言經典實例》將幫助 你步入R的殿堂;對於R的資深用戶,本書將加深你對R的理解並拓展你的視野。通過本書,你可以使你的分析工作順利完成並學習更多R語言知識。本書由蒂特 著。
R語言編程藝術
R語言是世界上最流行的用於數據態吵處理和統 計分析的腳本語言。考古學家用它來跟蹤古代文明的傳播,醫葯公司用它來探索哪種葯物更安全、更有效,精算師用它評估金融風險以保證市場的平穩運行。總之, 在大數據時代,統計數據、分析數據都離不開計算機軟體的支持,在這方面R語言尤其出色。
本書將帶領你踏上R語言軟體開發之旅,從最 基本的數據類型和數據結構開始,到閉包、遞歸和匿名函數等高級主題,由淺入深,講解細膩,讀者完全不需要統計學的知識,甚至不需要編程基礎。而書中提到的 很多高級編程技巧,都是作者多年編程經驗的總結,對有經驗的開發者也大有裨益。本書精選了44個擴展案例,這些案例都源自於作者親身參與過的咨詢項目,都 是與數據分析相關的,生動展示了R語言在統計學中的高效應用。
金融數據分析導論:基於R語言
本書由統計學領域著名專家Ruey S. Tsay(蔡瑞胸)所著,從基本的金融數據出發,討論了這些數據的匯總統計和相關的可視化方法,之後分別介紹了商業、金融和經濟領域中的基本時間序列分析和計量經濟模型。
時間序列分析及應用:R語言(原書第2版)
本書以易於理解的方式講述了時間序列模型及其應用,主要內容包括:趨勢、平穩時間序列模型、非平穩時間序列模 型、模型識別、參數估計、模型診斷、預測、季節模型、時間序列回歸模型、異方差時間序列模型、譜分析入門、譜估計、門限模型.對所有的思想和方法,都用真 實數據集和模擬數據集進行了說明。
本書可作為高等院校統計、經濟、商科、工程及定量社會科學等專業學生的教材或教學參考書,同時也可供相關技術人員使用。