Skip to content

Existing packages for personal finance and OFX importation

6 messages · Sébastien Durand, Sarbo, julien cuisinier +2 more

#
Hello to all,

I got my mind into it did some search and comparison I got myself decided to do the following :

I want to build a package for personal finance : 

-In this package I wish to be able to :
	-Read OFX data
	-Recognize transaction
	-Setup a budget through the use of buckets or envelope through time
	-Have cashflow plotting methods
	-This package will be able to utilise data from multiple accounts

My first question is quite simple:  
	Is there a package that can already do what plan to build ?

My second question is: 
	Is there a package that can simply import OFX data ?

Thanks a lot!

S?bastien
#
Hi Sebastien,



Adding my 2 cents, for OFX data (Oanda FX data I suppose), quantmod  
package as a utility to download those data (among others data sources)

Think there are other possibilities for this specific purpose (OFX  
data download), but for having tried quantmod myself I would recommend  
it (a very good job from Jeff Ryan) + it has some charting  
capabilities that might get you off the ground for what you want (not  
sure what it is) + it is based on XTS which is a very convenient time  
series handling package (again thank you Mr Ryan & Ulrich)


HTH


Rgds,
Julien
On Jun 5, 2010, at 4:04 PM, S?bastien Durand wrote:

            
#
On 5 June 2010 at 23:33, Sarbo wrote:
| 1. Probably a silly question, but what's OFX? Overseas foreign exchange
| rates?

See http://www.ofx.net/ which comes up as the first Google hit for OFX.
It is a format to describe transactions.
#
On 06/05/2010 09:04 AM, S?bastien Durand wrote:
Assuming we're talking about:

http://www.ofx.net/

as identified by Dirk, this is an XML format.

RSiteSearch("OFX")

returns zero hits.

... so the first thing to try would be to use the XML package by Duncan to see 
if you can parse the DTD and and parse the files into R.

Then there will likely be some work in figuring out what you want the data 
structures to look like just for handling the input data. I would recommend 
documenting and packaging the OFX parser as a separate R package, it feels like 
a standalone package.
Packages like blotter can do this, though you'd also need to identify the 
instruments that you are having transactions on.  For 'personal finance' I 
assume that this would include things like cash (various currency balances), 
stocks, bonds, mutual funds, etc.  All of these should be easy enough to model 
in FinancialInstrument so the transactions will then make sense and add up in 
blotter.
There's not enough information on these two for me to understand what you want 
to do.  There are various methods for handling portfolio rebalancing and 
optimization in R already, and of course plenty of plotting methods.  If we're 
still talking about transactions and portfolios, blotter can handle a lot of this.
layered account/portfolio structure is handled by blotter.
Parts of it, see above.
I think the OFX part is the part not covered, but if you're lucky, Duncan's XML 
package will do most of the heavy lifting of parsing the files per the DTD and 
getting them into R.  Your work would be in sorting that into R objects for 
further manipulation, and then passing the transactions on to the blotter.

  
    
#
On 6 June 2010 at 07:36, Brian G. Peterson wrote:
| On 06/05/2010 09:04 AM, S?bastien Durand wrote:
| > -In this package I wish to be able to :
| > 	-Read OFX data
| 
| Assuming we're talking about:
| 
| http://www.ofx.net/
| 
| as identified by Dirk, this is an XML format.
| 
| RSiteSearch("OFX")
| 
| returns zero hits.

Yes but that doesn't mean there's no open source support for it. Just looking
at what my Debian box knows:

edd at ron:~$ apt-cache search ofx
gnucash-docs - Documentation for gnucash, a personal finance tracking program
gnucash-common - A personal finance and money tracking program
grisbi - personal finance management program
homebank-data - Data files for homebank
homebank - Manage your personal accounts at home
aqbanking-tools - basic command line homebanking utilities
libaqbanking-data - configuration files for libaqbanking
libaqbanking-doc - library for online banking applications
libaqbanking-plugins-libgwenhywfar47 - library for online banking applications plugins to libgwenhywfar
libaqbanking29-dbg - library for online banking applications - debug symbols
libaqbanking29-dev - library for online banking applications
libaqbanking29-plugins-qt4 - Qt 4 plugins needed by libaqbanking29
libaqbanking29-plugins-qt - plugins needed by libaqbanking29
libaqbanking29-plugins - plugins needed by libaqbanking29
libaqbanking29 - library for online banking applications
libaqofxconnect5 - library for OFX online banking
libofx-dev - development package for libofx2c2a
libofx4 - library to support Open Financial Exchange
ofx - Open Financial Exchange programs
gnucash-dbg - Debugging symbols for Gnucash
gnucash - A personal finance and money tracking program
skrooge - personal finance manager for KDE
edd at ron:~$ 

I can foresee e.g. a Google Summer of Code 2011 project about writing a
binding to one of those libraries.

That said, someone could of course do it earlier too.

| ... so the first thing to try would be to use the XML package by Duncan to see 
| if you can parse the DTD and and parse the files into R.
| 
| Then there will likely be some work in figuring out what you want the data 
| structures to look like just for handling the input data. I would recommend 
| documenting and packaging the OFX parser as a separate R package, it feels like 
| a standalone package.

Agreed. See above.

This could be of course as a data feeder to blotter et al.