Sharing Resources: Let's Not Reinvent the Wheel

Discussion in 'Automated Trading' started by Corey, Dec 17, 2008.

  1. Corey

    Corey

    After reading some recent posts, I realized how much isolated knowledge there was on this board. I thought that trying to aggregate our resources may be beneficial. Why should I bother trying to implement FIX if you already know a library that does it for free?

    Below is a compiled list of the majority of the Automated Trading resources that I know about (and/or care about).

    Archive of Papers
    Behavioral Finance http://behaviouralfinance.net/

    Forums and Public Resources
    Tradery http://www.tradery.com/
    JavaTraders http://groups.google.com/group/JavaTraders

    Platforms
    Commercial
    MetaTrader http://www.metaquotes.net/
    RealTick http://www.realtick.com/
    TradeStation http://www.tradestation.co.uk/
    WealthLab http://www.wealth-lab.com/Home/Default.aspx
    NinjaTrader http://www.ninjatrader.com/webnew/index.htm
    SmartQuant http://www.smartquant.com/

    Open Source / Free
    ActiveQuant http://www.activestocks.de/
    EclipseTrader http://www.eclipsetrader.org/
    AIOTrade http://blogtrader.net/page/dcaoyuan/category/AIOTrade
    Merchant of Venice http://mov.sourceforge.net/
    Open Java Trading System http://ojts.sourceforge.net/
    TrueTrade http://code.google.com/p/truetrade/
    Artificial Stock Market http://artstkmkt.sourceforge.net/
    iTrade http://itrade.sourceforge.net/
    Matlab Automated Trading Toolbox http://sourceforge.net/projects/mlmechtrade
    NexTick http://nextick.sourceforge.net/
    Robotrader http://sourceforge.net/projects/robotrader/

    DataFeeds
    NxCore http://www.nanex.net/

    Software
    R http://www.r-project.org/
    Octave http://www.gnu.org/software/octave/
    Gretl http://gretl.sourceforge.net/
    Sage http://www.sagemath.org/index.html
    Data Visualizer http://dataviews.sourceforge.net/
    Market Analysis System http://eiffel-mas.sourceforge.net/
    Matrex http://matrex.sourceforge.net/
    Scilab http://www.scilab.org/
    jMATLAB http://www.jmatlab.org/index.html

    Historic Data
    Historic Futures Data http://www.anfutures.com/data_es.htm
    Historic Commitment of Traders http://www.cftc.gov/marketreports/commitmentsoftraders/cot_historical.html
    Historic Forex Data http://disktrading.is99.com/disktrading/

    Strategy Discussion
    Pairs Trading http://yats.com/doc/cointegration-en.html

    Software Libraries & Source Code
    Note that many libraries offer APIs in other languages
    C/C++
    QuantLib http://quantlib.org/index.shtml
    TALib http://ta-lib.org/index.html
    GECODE http://www.gecode.org/index.html
    Tokyo Cabinet http://tokyocabinet.sourceforge.net/spex-en.html
    libmemcached http://tangent.org/552/libmemcached.html
    TinyXML++ http://ticpp.googlecode.com/svn/docs/ticpp.html
    QuickFIX http://www.quickfixengine.org/
    OpenMP http://openmp.org/wp/
    Gzstream http://www.cs.unc.edu/Research/compgeom/gzstream/
    libevent http://monkey.org/~provos/libevent/doxygen/
    qtstalker http://sourceforge.net/projects/qtstalker/

    Erlang
    Erlang to C++ http://code.google.com/p/eipp/

    Ruby
    EventMachine http://rubyeventmachine.com/
    memcached http://www.deveiate.org/code/Ruby-MemCache/
    Ruby to Erlang http://rubyforge.org/projects/erlectricity/

    Python
    Twisted http://twistedmatrix.com/trac/
    Processing http://pypi.python.org/pypi/processing
    Stackless http://www.stackless.com/
    twill http://twill.idyll.org/python-api.html

    C#
    mono http://www.mono-project.com/
    Interactive Brokers C# API http://www.dinosaurtech.com/utilities/
    QLNet http://www.qlnet.org/
    ScienceCode http://www.sciencecode.com/
    RabbitMQ http://www.rabbitmq.com/

    Java
    Javolution http://javolution.org/
    RabbitMQ http://www.rabbitmq.com/

    Matlab
    Free Packages http://newsgroups.derkeiler.com/Archive/Comp/comp.soft-sys.matlab/2005-10/msg00013.html
    Matlab Toolboxes http://stommel.tamu.edu/~baum/toolboxes.html

    Other
    Indicator Formulas http://trader.online.pl/
    Indicator Formulas http://tadoc.org/

    GPU
    VAST/AltiVec http://www.crescentbaysoftware.com/vast_altivec.html
    PNY http://www3.pny.com/
    CUDA http://www.nvidia.com/object/cuda_home.html
    OpenCL http://en.wikipedia.org/wiki/OpenCL
    BrookGPU http://graphics.stanford.edu/projects/brookgpu/index.html
    CG Tutorial http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html
    Matlab GPU http://www.accelereyes.com/

    Mac OS X
    MacResearch http://macresearch.org/
    Velocity Engine http://developer.apple.com/hardwaredrivers/ve/

    Cloud Computing
    Eucalyptus http://eucalyptus.cs.ucsb.edu/
    GoGrid http://www.gogrid.com/
    Skytap http://www.skytap.com/
    Sun Grid http://www.network.com/
    Amazon Elastic Compute Cloud http://aws.amazon.com/ec2/

    Databases
    PostgreSQL http://www.postgresql.org/
    MySQL http://www.mysql.com/
    CouchDB http://couchdb.apache.org/
    MonetDB http://monetdb.cwi.nl/projects/monetdb//Home/
    db4o http://www.db4o.com/

    Other
    NASDAQ Symbol Directory ftp://ftp.nasdaqtrader.com/symboldirectory/



    I would love to see some resources that I haven't found yet that would make any job relating to automated trading easier: be it software, library, or data. Hopefully we can make this a great resource.
     
  2. I love your list Corey! I hope you can post it on tickzoom.org or allow me to do so when the site is up.

    I agree with many in your list and add:

    C# / .NET
    ZedGraph.org for charting library


    Also, I'm curious since the TickZoom.org test and black box platform will support strategies written in Java, C# or C++, which category would you put it in?

    And since the software license and source code is free but TickZOOM.org will sell services, would it be in your free or commercial section?

    I'm not being picky just curious how you think it fits with the other offerings.

    Sincerely,
    Wayne
     
  3. Corey

    Corey

    I am currently in Stockholm, so I will make this brief.

    Here are some good resources for using Google's <a href="http://labs.google.com/papers/mapreduce.html">MapReduce</a> paradigm.
    The Phoenix System - http://csl.stanford.edu/~christos/sw/phoenix/
    Qt Concurrent - http://labs.trolltech.com/page/Projects/Threads/QtConcurrent
    SkyNet - http://skynet.rubyforge.org/
    Disco - http://discoproject.org/
    Hadoop - http://hadoop.apache.org/core/


    I'll sort these into the list when I get back from my travels...

    Thanks for the input guys. When I get the time, I hope to write a quick one or two page review of each of the links so that people can better find what they are looking for.

    Merry Christmas Eve to all...
     
  4. RedRat

    RedRat

  5. byteme

    byteme

    Just time for a 2 minute brain dump. Will try not to repeat what people have already suggested.

    Mostly Java stuff, sorry. Libraries and components that may be useful in developing an ATS (all open source, various licences):

    <b>Misc:</b>
    Anything on Apache, more specifically:
    Commons Math http://commons.apache.org/math
    Commons Pool http://commons.apache.org/pool
    Java Caching System (JCS) http://jakarta.apache.org/jcs/index.html or
    EHCache http://ehcache.sourceforge.net

    <b>JMS Messaging:</b>
    Apache ActiveMQ http://activemq.apache.org

    <b>IM:</b>
    SMACK API for Jabber http://www.igniterealtime.org/projects/smack/index.jsp

    <b>Rapid protocol client/server network development:</b>
    Apache Mina (Apache Licence V2.0) http://mina.apache.org or
    JBoss.org Netty 3 (LGPL) http://www.jboss.org/netty

    <b>FIX:</b>
    QuickFix/J http://www.quickfixj.org (QuickFix License V1.0)

    <b>DB:</b>
    Berkley DB Java Edition www.oracle.com/technology/products/berkeley-db/index.html

    <b>CEP/ESP Engines:</b>
    Esper (also NEsper for .net) http://esper.codehaus.org

    <b>Distributed Computing/Clustering/Load Balancing/Failover etc.:</b>
    SHOAL http://wikis.sun.com/display/shoal
    JESSICA2 http://www.loband.org/loband/filter/hk/hku/csis/www/ /~clwang/projects/JESSICA2.html

    <b>Open Source ATS platforms:</b>
    IMVHO, one to keep an eye on: Marketcetera http://www.marketcetera.com
    Dozens of others have already been mentioned I think.

    Disclaimer: I have personally used most but not ALL of the above.

    BMe.
     
  6. Corey

    Corey

    Here is the list, recompiled with your additions...
    I think I need to come up with a better way of organizing these. For example, I have products in the databases and distributed section that are Java only, Erlang only, C++ only ... et cetera. Some, on the other hand, are generic and language agnostic. So should I put the language specific ones under language libraries, or keep them under the type of library that they are related to? This would be easier if it were multi-page HTML where I could have click throughs...

    Also, these need short one or two line descriptions. I'll get around to that eventually.

    Archive of Papers
    Behavioral Finance http://behaviouralfinance.net/

    Forums and Public Resources
    Tradery http://www.tradery.com/
    JavaTraders http://groups.google.com/group/JavaTraders
    InteractiveBrokers.API.Discussion.Forum http://finance.groups.yahoo.com/group/TWSAPI/

    Platforms
    Commercial
    MetaTrader http://www.metaquotes.net/
    RealTick http://www.realtick.com/
    TradeStation http://www.tradestation.co.uk/
    WealthLab http://www.wealth-lab.com/Home/Default.aspx
    NinjaTrader http://www.ninjatrader.com/webnew/index.htm
    SmartQuant http://www.smartquant.com/

    Open Source / Free
    ActiveQuant http://www.activestocks.de/
    EclipseTrader http://www.eclipsetrader.org/
    AIOTrade http://blogtrader.net/page/dcaoyuan/category/AIOTrade
    Merchant of Venice http://mov.sourceforge.net/
    Open Java Trading System http://ojts.sourceforge.net/
    TrueTrade http://code.google.com/p/truetrade/
    Artificial Stock Market http://artstkmkt.sourceforge.net/
    iTrade http://itrade.sourceforge.net/
    Matlab Automated Trading Toolbox http://sourceforge.net/projects/mlmechtrade
    NexTick http://nextick.sourceforge.net/
    Robotrader http://sourceforge.net/projects/robotrader/
    TickZOOM http://www.tickzoom.org
    Marketcetera http://www.marketcetera.com/

    DataFeeds
    NxCore http://www.nanex.net/
    IQFeed http://www.iqfeed.net/
    ESignal http://www.esignal.com/

    Brokerage API
    InteractiveBrokers TWS http://www.interactivebrokers.com/en/p.php?f=connAltern&p=i&ib_entity=llc
    Genesis Securities http://www.gndt.com/automated/download.htm
    Trading Technologies http://www.tradingtechnologies.com/ (http://devnet.tradingtechnologies.com/DevNet/ProductCenter.aspx)
    FIXopaedia http://b2bits.com/fixopaedia/index.html
    Assent Anvil http://www.assent.com/api.php

    Software
    R http://www.r-project.org/
    Octave http://www.gnu.org/software/octave/
    Gretl http://gretl.sourceforge.net/
    Sage http://www.sagemath.org/index.html
    Data Visualizer http://dataviews.sourceforge.net/
    Market Analysis System http://eiffel-mas.sourceforge.net/
    Matrex http://matrex.sourceforge.net/
    Scilab http://www.scilab.org/
    jMATLAB http://www.jmatlab.org/index.html

    Historic Data
    Historic Futures Data http://www.anfutures.com/data_es.htm
    Historic Commitment of Traders http://www.cftc.gov/marketreports/commitmentsoftraders/cot_historical.html
    Historic Forex Data http://disktrading.is99.com/disktrading/
    Historical Tick Data http://www.tickdata.com/

    Strategy Discussion
    Pairs Trading http://yats.com/doc/cointegration-en.html

    Software Libraries & Source Code
    Note that many libraries offer APIs in other languages
    C/C++
    QuantLib http://quantlib.org/index.shtml
    TALib http://ta-lib.org/index.html
    GECODE http://www.gecode.org/index.html
    Tokyo Cabinet http://tokyocabinet.sourceforge.net/spex-en.html
    libmemcached http://tangent.org/552/libmemcached.html
    TinyXML++ http://ticpp.googlecode.com/svn/docs/ticpp.html
    QuickFIX http://www.quickfixengine.org/
    OpenMP http://openmp.org/wp/
    Gzstream http://www.cs.unc.edu/Research/compgeom/gzstream/
    libevent http://monkey.org/~provos/libevent/doxygen/
    qtstalker http://sourceforge.net/projects/qtstalker/
    Qt Concurrent http://labs.trolltech.com/page/Projects/Threads/QtConcurrent
    The Phoenix System http://csl.stanford.edu/~christos/sw/phoenix/

    Erlang
    Erlang to C++ http://code.google.com/p/eipp/

    Ruby
    EventMachine http://rubyeventmachine.com/
    memcached http://www.deveiate.org/code/Ruby-MemCache/
    Ruby to Erlang http://rubyforge.org/projects/erlectricity/
    SkyNet http://skynet.rubyforge.org/

    Python
    Twisted http://twistedmatrix.com/trac/
    Processing http://pypi.python.org/pypi/processing
    Stackless http://www.stackless.com/
    twill http://twill.idyll.org/python-api.html
    disco http://discoproject.org/

    C#
    mono http://www.mono-project.com/
    Interactive Brokers C# API http://www.dinosaurtech.com/utilities/
    QLNet http://www.qlnet.org/
    ScienceCode http://www.sciencecode.com/
    RabbitMQ http://www.rabbitmq.com/
    ZedGraph http://www.zedgraph.org

    Java
    Javolution http://javolution.org/
    RabbitMQ http://www.rabbitmq.com/
    Java Genetic Algorithms Package http://jgap.sourceforge.net/
    Java Object Oriented Neural Engine http://www.jooneworld.com/
    JFree (Charting) http://www.jfree.org/
    JDOM (XML) http://www.jdom.org/
    hadoop http://hadoop.apache.org/
    ObjectPool http://commons.apache.org/pool/
    Commons-Math http://commons.apache.org/math/
    Java Caching System http://jakarta.apache.org/jcs/index.html
    EHCache http://ehcache.sourceforge.net/
    SMACK API for Jabber http://www.igniterealtime.org/projects/smack/index.jsp
    MINA http://mina.apache.org/
    JBoss Netty 3 http://www.jboss.org/netty
    QuickFix/J http://www.quickfixj.org/

    Matlab
    Free Packages http://newsgroups.derkeiler.com/Archive/Comp/comp.soft-sys.matlab/2005-10/msg00013.html
    Matlab Toolboxes http://stommel.tamu.edu/~baum/toolboxes.html

    Other
    Indicator Formulas http://trader.online.pl/
    Indicator Formulas http://tadoc.org/

    GPU
    VAST/AltiVec http://www.crescentbaysoftware.com/vast_altivec.html
    PNY http://www3.pny.com/
    CUDA http://www.nvidia.com/object/cuda_home.html
    OpenCL http://en.wikipedia.org/wiki/OpenCL
    BrookGPU http://graphics.stanford.edu/projects/brookgpu/index.html
    CG Tutorial http://http.developer.nvidia.com/CgTutorial/cg_tutorial_chapter01.html
    Matlab GPU http://www.accelereyes.com/

    Mac OS X
    MacResearch http://macresearch.org/
    Velocity Engine http://developer.apple.com/hardwaredrivers/ve/

    Cloud Computing
    Eucalyptus http://eucalyptus.cs.ucsb.edu/
    GoGrid http://www.gogrid.com/
    Skytap http://www.skytap.com/
    Sun Grid http://www.network.com/
    Amazon Elastic Compute Cloud http://aws.amazon.com/ec2/
    SHOAL http://wikis.sun.com/display/shoal/Shoal+Home;jsessionid=BD7F428E2C147D75EEAECC0526B205D9
    JESSICA2 http://www.loband.org/loband/filter/hk/hku/csis/www/ /~clwang/projects/JESSICA2.html

    Databases
    PostgreSQL http://www.postgresql.org/
    MySQL http://www.mysql.com/
    CouchDB http://couchdb.apache.org/
    MonetDB http://monetdb.cwi.nl/projects/monetdb//Home/
    db4o http://www.db4o.com/
    Berkeley DB http://www.oracle.com/technology/products/berkeley-db/index.html

    CEP / ESP
    Esper http://esper.codehaus.org/

    Other
    NASDAQ Symbol Directory ftp://ftp.nasdaqtrader.com/symboldirectory/
     
  7. Corey

    Corey

  8. byteme

    byteme

    #10     Jan 8, 2009