Skip to content

Conversation

kashrobinson71-tech
Copy link

No description provided.

* Start of ADI indicator

* Updated SMA and ADI to use new input/output data format (array of hashes). Spec helpers to use CSV sample data. Updated SMA and ADI specs to use new sample data. Data sort helpers. Validation updates.

* Updated yard comments

* Remove /calculate

* Add Stochastic Oscillator

- Require in main technical_analysis
- Create calculation
- Create spec

* Add Stochastic Oscillator Signal (%D)

- Update main technical_analysis to require sr_signal
- Create calculation
- Create spec

* Add Awesome Oscillator

- Update technical_analysis to require AO
- Create calculation
- Create spec

* Add Ultimate Oscillator

- Add require uo to technical_analysis
- Create calculation
- Create spec

* Create Williams %R

- Add require wr to technical_analysis
- Create calculation
- Create spec

* Create ADTV - Average Daily Trading Volume

- Add require 'adtv' to technical_analysis
- Create calculation
- Create spec

* Create OBV Mean - On-balance volume mean

- Add require 'obv_mean' to technical_analysis
- Create calculation
- Create spec

* Change price_key to volume_key for clarity

* Create OBV - On-balance volume

- Add require 'obv' to technical_analysis
- Create calculation
- Create spec

* Create CR - Cumulative Return

- Add require 'cr' to technical_analysis
- Create calculation
- Create spec

* Add validator to make sure data exists

* Add DLR - Daily Log Return

- Add require 'dlr' to technical_analysis
- Create calculation
- Create spec

* Add DR - Daily Return

- Add require 'dr' to technical_analysis
- Create calculation
- Create spec

* Add TSI - True Strength Index

- Add require 'tsi' to technical_analysis
- Create calculation
- create spec

* Add RSI - Relative Strength Index

- Add require 'rsi' to technical_analysis
- Create calculation
- Create spec

* Add MFI - Money Flow Index

- Add require 'mfi' to technical_analysis
- Create calculation
- Create spec

* Add Ichimoku

- Add require 'ichimoku' to technical_analysis
- Create calculation
- Create spec

* Move response inside value key

* Add KST - Known Sure Thing

- Add require 'kst' to technical_analysis
- Create calculation
- Create spec

* Add DSO - Detrended Price Oscillator

- Add require 'dso' to technical_analysis
- Create calculation
- Create spec

*  Add CCI - Commodity Channel Index

- Add require 'cci' to technical_analysis
- Create calculation
- Create spec

*  Add MI - Mass Index

- Add require 'mi' to technical_analysis
- Create calculation
- Create spec

* Add Trix - Triple Exponential Average

- Add require 'trix' to technical_analysis
- Create calculation
- Create spec

* Refactor

* Add VI - Vortex Indicator

- Add require 'vi' to technical_analysis
- Create caluclation
- Create spec

* Refactor

* Refactor - merge SR and SR signal into one calc

* Refactor calculation

* Update logic for validating data size

* Refactor calculation

* Remove a puts...oops!

* Refactor calculation

* Removed old/unused variable

* Refactor calculation and fix spec

* More trimming

* Remove select(&:) / refactor

* Refactor

*  Add ADX - Average Directional Index

- Add require 'adx' to technical_analysis
- Create calculation
- Create spec

* Add FI - Force Index

- Add require 'fi' to technical_analysis
- Create calculation
- Create spec

* Add VPT - Volume-Price Trent

- Add require 'vpt' to technical_analysis
- Create calculation
- Create spec

* Add CMF - Chaikin Money Flow

- Add require 'cmf' to technical_analysis
- Create calculation
- Create spec

* Add EoM / EVM - Ease of Movement

- Add require 'eom' and 'evm' to technical_analysis
- Create calculation for Eom and reference it in Evm
- Create specs for Eom and Evm

* Update yard comments to remove reference to period

* Update yard comments to remove reference to period.

* Add NVI - Negative Volume Index

- Add require 'nvi' to technical_analysis
- Create calculation
- Create spec

* Add ATR - Average True Range

- Add require 'atr' to technical_analysis
- Create calculation
- Create spec

* Don't count first record

- To make the true range calculation consistent with other indicators,
don't count a true range for the first record.

* Refactor true range calculation to be more legible

*  Add BB - Bollinger Bands

- Add require 'bb' to technical_analysis
- Create calculation
- Create spec
- Add methods to array helper:
  - Mean (also aliased as average)
  - Sample variance
  - Standard deviation

* In array helper methods, use size vs length

* Add KC - Keltner Channel

- Add require 'kc' to technical_analysis
- Create calculation
- Create spec
- Update array helper from Bollinger Bands

* Add DC - Donchian Channel

- Add require 'dc' to technical_analysis
- Create calculation
- Create spec

* Add MACD - Moving Average Convergence Divergence

- Add require 'macd' to technical_analysis
- Create calculation
- Create spec
- Import array helper from Bollinger Bands

* Refactor EMA logic into its own method

* Add back obv_mean

* Refactor

- Add StockCalculation helper
- Add true_range method to StockCalculation
- Replace manual averages with Array.average helper

* Add typical_price helper to StockCalculation

- Update typical_price calculations to use new helper

* Add ema to StockCalculation

* Update calculation to use Array.average helper

* Minor code format updates

* Remove comments about sorting data by date

* Change date to date_time
- Used to calculate and find data across all indicators
- Used for inheritance by each indicator
- Add to require
- Inherit from Indicator class
- Add symbol method
- Fix empty spaces
- Change self.symbol to self.indicator_symbol
- Add self.indicator_name
- Add valid_options method to each indicator
- Add validate_options method to each indicator
- Add validate_options method to Validation helper
- Add indicator_symbol
- Add indicator_name
- Add validate_options
- Add valid_options
- Minor updates to indicators
- Test indicator_symbol for each indicator
- Test indicator_name for each indicator
- Test valid_options for each indicator
- Test validate_options for each indicator
- Test invalid options for each indicator
- Test min_data_size for each indicator
- ao
- atr
- bb
- cci
- cmf
- cr
- dc
- dlr
- dpo
- dr
- eom
- evm
- fi
- ichimoku
- indicator
- kc
- kst
- macd
- mfi
- mi
- nvi
- obv
- obv_mean
- rsi
- sma
- sr
- trix
- tsi
- uo
- vi
- vpt
- wr
- Use min_data_size method when validating data sizes in calculate
alexnsolo and others added 30 commits March 19, 2019 10:00
I've based the EMA indicator from the SMA indicator, while using the
existing `StockCalculation.ema` helper that I found.
…am-to-ema-and-sma-indicators

Add date_time_key param to EMA & SMA indicators
…tw-12.3

Update rake requirement from ~> 10.0 to ~> 12.3
fix: ~ indicators/adx.rb, so that it works for other than the default 14 period values.
Add date_time_key support to RSI indicator
Bumps [yard](https://github.com/lsegal/yard) from 0.9.25 to 0.9.36.
- [Release notes](https://github.com/lsegal/yard/releases)
- [Changelog](https://github.com/lsegal/yard/blob/main/CHANGELOG.md)
- [Commits](lsegal/yard@v0.9.25...v0.9.36)

---
updated-dependencies:
- dependency-name: yard
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <[email protected]>
…iodFlows

Handle division by zero error with mfi indicator
l added a new title and lm merging with codeland
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

9 participants