-
Notifications
You must be signed in to change notification settings - Fork 41
Kashrobinson71 tech patch 1 #56
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
kashrobinson71-tech
wants to merge
95
commits into
intrinio:ATS/technical-analysis/money-flow-index
Choose a base branch
from
kashrobinson71-tech:kashrobinson71-tech-patch-1
base: ATS/technical-analysis/money-flow-index
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Kashrobinson71 tech patch 1 #56
kashrobinson71-tech
wants to merge
95
commits into
intrinio:ATS/technical-analysis/money-flow-index
from
kashrobinson71-tech:kashrobinson71-tech-patch-1
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* 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
I've based the EMA indicator from the SMA indicator, while using the existing `StockCalculation.ema` helper that I found.
Add EMA indicator
Updates the requirements on [rake](https://github.com/ruby/rake) to permit the latest version. - [Release notes](https://github.com/ruby/rake/releases) - [Changelog](https://github.com/ruby/rake/blob/master/History.rdoc) - [Commits](ruby/rake@v10.5.0...v12.3.3) Signed-off-by: dependabot[bot] <[email protected]>
…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
… 14 period values.
fix: ~ indicators/adx.rb, so that it works for other than the default 14 period values.
Add date_time_key support to RSI indicator
+ Weighted Moving Average
…Size Change loop to lookup
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]>
…0.9.36 Bump yard from 0.9.25 to 0.9.36
…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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
No description provided.