On Mon, 5 Aug 2013, yinung at Gmail wrote:
 I am trying to write a function that can retrieve stock data via R
from
 Yahoo finance as follows.
 This script is working both under my ubuntu and XP with gretl 1.9.12 cvs
 build date 2013-05-06.
 A problem occurred when I replace
       
getSymbols("@sym",return.class="ts",from="@s1",to="2012-08-02")
 with
       
getSymbols("@sym",return.class="ts",from="@s1",to="@s2")
 It seems that the second string replacement @s2 does not work. It cannot be
 recognized as a valid argument in R.
 Do anyone have an idea? 
Yes, see below.
 <hansl>
 function list getsymbols(string sym[null],string s1[null], string s2[null])
    foreign language=R
        library(quantmod)
       
getSymbols("@sym",return.class="ts",from="@s1",to="2012-08-02")
        tmpM <- @sym
        gretl.export(tmpM)
    end foreign
 append "(a)dotdir/tmpM.csv"
 list tmplist= *
 return tmplist
 end function
 nulldata 9
 string mys1="2012-07-22"
 setobs 5 @mys1 --time-series
 string mySym="MSFT"
 string mys1="2012-07-22"
 string mys2="2012-08-02"
 list xlist = getsymbols(mySym,mys1,mys1) 
This is a nice application, there's simply a bug in the last 
line, which should read
list xlist = getsymbols(mySym,mys1,mys2)
With that modification it works fine here. However, it seems 
there is a bug in the R function GetSymbols(): if you set the 
final date to (e.g.) "2012-07-23" (for just two days of 
data) you get an error:
Error in round(frequency) : non-numeric argument to 
mathematical function
Maybe for some reason you have to get at least one week's 
data?
Allin Cottrell