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

R. Michael Weylandt <michael.weylandt@gmail.com> michael.weylandt at gmail.com
Mon Sep 30 14:45:30 CEST 2013



On Sep 30, 2013, at 3:28, Peter Fertig <pfertig at yahoo.de> wrote:

> 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.



More information about the R-SIG-Finance mailing list