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
- Host: GitHub
- URL: https://github.com/frankcash/Scala-Quant
- Owner: frankcash
- License: mit
- Created: 2017-04-13T01:07:52.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2017-05-06T15:27:01.000Z (over 8 years ago)
- Last Synced: 2025-05-15T22:40:23.526Z (7 months ago)
- Topics: etf, fintech, ifttt, quant, scala, stock-data
- Language: Scala
- Homepage:
- Size: 44.9 KB
- Stars: 10
- Watchers: 4
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-quant - Scala Quant
- awesome-quant - Scala Quant - Scala library for working with stock data from IFTTT recipes or Google Finance. (Scala / Data Visualization)
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