Edgar <https://github.com/twashing/edgar> is a basic tool for performing Technical Analysis on financial instruments. This tool is predicated on the presence of high price movements of stock. So far, the emphasis is on:
- stock market trading - algorthmic, automated trading - using the Interactive Brokers <http://www.interactivebrokers.com>trading platform You will need these tools installed on your machine. 1. Leiningen <https://github.com/technomancy/leiningen>, 2.0 or abouve 2. Datomic <http://www.datomic.com> 3. An Interactive Brokers account with the API Gateway<https://www.interactivebrokers.com/en/?f=%2Fen%2Fsoftware%2Fibapi.php>(Trader Workstation) installed on your machine Some friends have suggested I turn this into a start-up, which isn't a bad idea. But I'm 1 person, and don't have the time or resources to build this out to the degree that I would like. As such, Edgar is currently in a bit of a hackey state. However, I do have a working system that i) collects historical and live tick data and calculates ii) Simple and Exponential Moving Averages iii) a Bollinger Band, iv) Moving Average Convergence / Divergence v) a Stochastic Oscillator and vi) On Balance Volume calculations. As well, there are other goodies like RSI and Price divergence. That's all to say that I think some people might find this stuff useful. There are many open source systems on the internet (see here<http://www.traderslaboratory.com/forums/tools-trade/11086-open-source-trading-platforms-master-list.html>). I wanted something like Edgar, to leverage the power of Clojure in this domain. I think Edgar could be a feasible Clojure codebase, along the lines of TradeLink (see here <https://code.google.com/p/tradelink/>) or Open Java Trading System (see here <http://sourceforge.net/projects/ojts/>). *Features* - load stocks that have a price differential over the past 24hrs, or some other constraint; this is a primitive tool though, and you should use a real-time stock filter if you can find it - load historical and live stock data - track many live stocks simultaneously - perform technical analysis on tracked stocks; the packages will be organised as follows. *Lagging Indicators: *Lagging indicators are ones that follow price movements and have less predictive qualities. - Moving Averages<http://www.stock-market-strategy.com/moving-averages-ma/); See also [here](http://www.youtube.com/watch?v=L3EzXzofRtI) and [here](http://www.youtube.com/watch?v=zRD9Ob9yCvs> - Bollinger Bands<http://www.stock-market-strategy.com/education/technical-analysis/bollinger-bands/); See [here](http://www.stock-market-strategy.com/education/technical-analysis/bollinger-bands/> *Leading Indicators*: Leading indicators are those created to proceed the price movements of a security giving predictive qualities. - Stochastic Oscillator<http://www.stock-market-strategy.com/education/technical-analysis/stochastic> - MACD<http://www.stock-market-strategy.com/education/technical-analysis/moving-average-convergence-divergence-macd/> *Confirming Indicators*: - On Balance Volume<http://www.investopedia.com/university/indicator_oscillator/ind_osc2.asp> - Relative Strength Index<http://stockcharts.com/help/doku.php?id=chart_school:technical_indicators:relative_strength_in> - generate up and down signals based on technical analysis - allows the creation of custom strategies that use signals, or create custom filters based on technical analysis - creates buy and sell orders based on strategy signals As I said this is in a very hackey state, and there are a lot of things outstanding. These are some things that I will be working on. Have a look and let me know what else you think would be useful. - make starting the system, a function - more documentation ; installation, startup - needs layout work and UI functional improvements ; I have some specific ideas around that - test suite - create a real-time stock filter based price volatility , or some other constraint - abstract strategies into a plug-in system - et al. Tim Washington Interruptsoftware.ca -- -- You received this message because you are subscribed to the Google Groups "Clojure" group. To post to this group, send email to clojure@googlegroups.com Note that posts from new members are moderated - please be patient with your first post. To unsubscribe from this group, send email to clojure+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/clojure?hl=en --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.