An open API service indexing awesome lists of open source software.

https://github.com/frankcash/Scala-Quant

Manipulates Stock / ETF Data
https://github.com/frankcash/Scala-Quant

etf fintech ifttt quant scala stock-data

Last synced: about 1 month ago
JSON representation

Manipulates Stock / ETF Data

Awesome Lists containing this project

README

          

# Scala Quant

This is a project to explore market data.

This project is designed to work with a specific IFTTT plugin: [Keep track of a particular stock's daily closing price in a spreadsheet](https://ifttt.com/applets/117304p-keep-track-of-a-particular-stock-s-daily-closing-price-in-a-spreadsheet)

This project is also designed to work with a CSV of historical data downloaded from Google Finance.

## Utilizing

Download the `CSV` file for your desired Stock/ETF.

## Functions

`avgResistance(data:List[List[Double]]): Double`

Calculates the [average resistance](http://www.investopedia.com/articles/technical/061801.asp) based local maxes from split lists. Takes maximum values from the split lists and then generates an average using the amount of split lists.

`avgSupport(data:List[List[Double]]): Double`

Calculates the [average support](http://www.investopedia.com/articles/technical/061801.asp) based local maxes from split lists. Takes minimum values from the split lists and then generates an average using the amount of split lists.

`movingAvg(movingAvgSize:Double, data:List[Double] ): Double`

Calculates [moving average](http://www.investopedia.com/terms/m/movingaverage.asp). The amount of days is pre-defined to 10.

`fibRetracementValues(high:Double, low:Double): List[Double]`

Calculates [Fibonacci Retracement](http://www.investopedia.com/ask/answers/05/fibonacciretracement.asp) values for the given high and low. Predefined ratios for the retracement values are: 23.6%, 38.2%, 50.0%, 0.618%, 100%.

## Configuration

It is also able to configure how many days should be grouped into the lists for calculating the average resistance and support. Edit `final val step = 5`.

The moving average size can be changed. Edit ` final val movingAvgSize = 10`

### License

MIT