[R-SIG-Finance] Reading MetaStock data format in R

Frank frankm60606 at gmail.com
Mon Sep 30 16:15:16 CEST 2013


Have you looked at getSymbols() in the quantmod package? It can download
symbols into the R environment from Yahoo Finance. I also save the data to a
CSV file. I then download the dividends from Yahoo Finance to calculate
current yield. It is so fast I don't bother to save the data and append new
only data.

Best,

Frank
Chicago, IL

-----Original Message-----
From: r-sig-finance-bounces at r-project.org
[mailto:r-sig-finance-bounces at r-project.org] On Behalf Of Peter Fertig
Sent: Monday, September 30, 2013 8:55 AM
To: R. Michael Weylandt <michael.weylandt at gmail.com>
Cc: r-sig-finance at r-project.org
Subject: Re: [R-SIG-Finance] Reading MetaStock data format in R

Hi Michael,

thank you for your comments. I have learnt now that using the DLL file, will
not work as I can not modify the DLL.

Creating csv or Excel files, another proposal I got, is what I have to do
already for another commercial econometric software (RATS from Estima) I use
now for a couple of years. Thus, I limited this to weekly data for only a
few instruments. However, I would like to run the analysis on a daily basis
for more instruments. Therefore, I still look for a solution in R by using
C-code. Unfortunately, I have only experience in programming in Visual Basic
and Pascal/Delphi. Maybe having only the code for the functions is not
sufficient and the C-file needs a few more lines? Something, I still have to
explore.

Best regards
Peter


________________________________
 Von: "R. Michael Weylandt <michael.weylandt at gmail.com>"
<michael.weylandt at gmail.com>

CC: "r-sig-finance at r-project.org" <r-sig-finance at r-project.org> 
Gesendet: 14:45 Montag, 30.September 2013
Betreff: Re: [R-SIG-Finance] Reading MetaStock data format in R






> Hello,
> 
> I am new at R and need some help because I am stuck in a project. I have
financial data, which is stored in the MetaStock data format and is updated
daily. For reading this data, I started to write a R-script. So far, I
managed to read the Master file, which contains the information about the
various securities in a directory, as well as reading the Fxxx.Dat data
files. The data is stored in the Microsoft Binary Format, which was used for
Basica under DOS. Thus, it has to be converted into the IEEE format for the
floating point numbers. But here my problems start.

Godspeed -- nothing quite like non-standard binary formats before the first
morning coffee. 


> 
> I have a DLL-file with functions to convert the 4byte MBF format into IEEE
format as well as from IEEE to MBF format. As recommended, this DLL is in
the Windows/System32 directory. I use this DLL with Visual Basic and it
works fine. In the R script, I included the following line
> 
> dyn.load("MBFIEE32", DLLpath="C:/Windows/System32").

Don't think it works like that -- anything you want exposed within R will
need to return R objects or wrapper classes (SEXP's generally) -- if your
DLL works for / was written for VB, it won't work un-modified in R. 

> 
> However, testing if the DLL had been loaded with is.loaded("MBFIEE32")
returns FALSE. I have read the manual, but have not figured out what went
wrong. Thus, my question is, what might I have overlooked, which could cause
this error?
> 
> I also have a file with the functions for the format conversions in C.
After making slight modifications to ensure that the functions return void
as requested, I wanted to compile the file with the command (using the shell
feature of RStudio) R CMD SHLIB [-d] -o MBF2IEEE.DLL MBF2IEEE.c. I called
this command from the directory where the C-file is stored. However, the
file was not compiled. Does the C-file has to be stored in a particular
directory? After reading the online help, I can not figure out, what went
wrong.
> 

Is your R development environment set up properly? R is not officially
supported to build under VS and I'd imagine the same applies to packages. 

To test that, I'd try building the 'xts' package locally -- it's an easy
(enough) build and relevant for finance work anyways. 

Depending on the scale of your data and the frequency you'll be doing this,
it might be worth writing a standalone program which makes a csv file (or
similar) and then just reading that into R so you can get on with your work.


Cheers,
Michael


> Thanks for any help
> 
> Peter  
>    [[alternative HTML version deleted]]
> 
> _______________________________________________
> R-SIG-Finance at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-sig-finance
> -- Subscriber-posting only. If you want to post, subscribe first.
> -- Also note that this is not the r-help list where general R questions
should go.
	[[alternative HTML version deleted]]



More information about the R-SIG-Finance mailing list