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@gmail.com>" <michael.weylandt@gmail.com>

CC: "r-sig-finance@r-project.org" <r-sig-finance@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@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]]

