Using Ruby to Invest in the Market?

An idea popped in my head today. Has anyone ever used a stock
investment service that allows you to access an investment API or
something like that?

It would nice if I could use Ruby to buy or sell stocks in real time,
but I do not have any experience in dealing with this programatically.

Anybody?

Thank you in advance,

Michael

You’d need real time data feeds as well as a trading API. When I was
bored and reading about it a while back, it seemed that in order to
get access to APIs you had to sign agreements and often be a fairly
large customer of the exchange to get access. Most of the software
that is given to private investors and day traders uses one api -
generally not published - to access the brokerage - often custom to
the brokerage. The broker then has another API into the market. Some
of the markets use software based on products from TIBCO or other
messaging software vendors.

I think the short answer is – if you want to, good luck getting
access. Really, I’d be happy if I could find a source for a real time

  • or even delayed stock ticker with an easy API so I could write code
    and just play with simulating trades.

-Charlie

I’m looking at Ruby/Finance library (
Ruby/Finance). Before using
Ruby/Rails,
I’ve researched several financial quoting web-services. Some are free
with
limitations, others are not. For real-time quoting, it may be worth the
money to buy such stuffs, but for delayed or historical quotes, I found
Yahoo! Finance data downloading function is good enough. The csv file
format
is very easy to phrase and import into database. The above mentioned
Ruby/Finance library uses Yahoo!Finance as well.

Hope it help.

On 12/29/05, Charles B. [email protected] wrote:

get access to APIs you had to sign agreements and often be a fairly
and just play with simulating trades.
You might find this of interest:

http://rubyquiz.com/quiz41.html

On Dec 29, 2005, at 7:35 PM, Michael G. wrote:

An idea popped in my head today. Has anyone ever used a stock
investment service that allows you to access an investment API or
something like that?

My investment club uses E*Trade for our purchases. We are a “buy and
hold” strategy group, so there’s not enough action to warrant doing
it through Ruby.

I have wondered if E*Trade exposes an API for reading account
information though. That would be neat for our valuation reports. I
could always screen scrape of course, but a web service would be much
better. Just haven’t had the time to look into it yet…

James Edward G. II

Thanks to everyone for the replies. I’ll have to marinate on this for
a little while.

On Dec 30, 2005, at 8:03 AM, Michael G. wrote:

Thanks to everyone for the replies. I’ll have to marinate on this for
a little while.

Amusing choice of words. :slight_smile:

In case it was a slip-up, the pedagogical side of me wants to point out:

You can marinate in something (to soak in a marinade) or you can
ruminate on something (to think deeply about, to ‘chew over’).

(Ruminants are animals [like cows] that eat food and later bring it
back up from their stomach into their mouths to chew. The word is
based on the Latin word for “to chew over again”; it is from this
that our modern usage of the word ‘ruminate’ is derived. Chewing on
something for a long period of time, staring out into space…he must
be lost in thought.)

Gavin K. wrote:

So I’m sitting here, eating breakfast, and reading ruby-talk, when …

(Ruminants are animals [like cows] that eat food and later bring it
back up from their stomach into their mouths to chew.

Suddenly my oatmeal tasted … different.

:slight_smile:

James

http://www.ruby-doc.org - Ruby Help & Documentation
Ruby Code & Style - Ruby Code & Style: Writers wanted
http://www.rubystuff.com - The Ruby Store for Ruby Stuff
http://www.jamesbritt.com - Playing with Better Toys
http://www.30secondrule.com - Building Better Tools

On 12/29/05, Michael G. [email protected] wrote:

An idea popped in my head today. Has anyone ever used a stock
investment service that allows you to access an investment API or
something like that?

I am very interested in this. A few weeks back I looked into a few
different brokers with APIs. Here are a few links:

http://qcharts.mbtrading.com/sdk.asp

http://www.quotetracker.com/help/qtserver.shtml
http://www.cybertrader.com/AboutCyberTrader/API/Default.aspx

Interactive Brokers offers a “paper trading” service. Could be a great
way to test your software cheaply.

On Windows you may be able to use the QuoteTracker API, which will
open access to a lot of brokers, both for trading and streaming
quotes.

http://www.quotetracker.com/

I have some experience with financials could help anyone navigate
through those details. I’ve written no code yet, and my day job
unfortunately does not give me the chance to play with Ruby, so my
Ruby level is probably at “moderate enthusiast”.

Anyone should feel free to contact me for more details.

I’d suggest InteractiveBrokers.com They offer a Java based API.
I’ve read that Java and Ruby play well together so you might want
to look into that.

I like them more for their commissions on option contracts.
They charge $1 per contract which is about the same as
optionsxpress.com
but optionsxpress forces you to trade 10 contracts to get the $1 price.

10 contracts corresponds to 1,000 shares of stock which is too large of
a bet for most programmers.

Interesting stuff there - It all seems to require platforms that I
don’t have, but it’s interesting stuff.

Here’s one I just found:
http://fxtrade.oanda.com/fxtrade/api/index.shtml which does support
linux, solaris, and windows.

It’s FX, not stocks, but it’s there. And they have a game version
where you can trade without using real money: http://fxgame.oanda.com/

-Charlie

I guess Ruby will become the script language to some softwares and
things will be easier :slight_smile:

Is there a ruby library for extracting historical securities
information? Or how about Options chains?

oh, IB also offers paper trading which means you trade with play money
which should be of interest to a programmer tinkering with trading
algorithms.