Skip to content

Commit

Permalink
Changed loc to iloc in TechIndicator
Browse files Browse the repository at this point in the history
  • Loading branch information
saeedamen committed Apr 13, 2021
1 parent 4320961 commit f3dcd7a
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 10 deletions.
2 changes: 2 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -167,6 +167,8 @@ In finmarketpy/examples you will find several examples, including some simple tr

# finmarketpy log

* 13 Apr 2021
* Replaced loc with iloc in TechIndicator to remove Pandas deprecated functionality
* 08 Apr 2021
* Fixed EventStudy issue when start window is before time series
* 21 Mar 2021
Expand Down
12 changes: 6 additions & 6 deletions finmarketpy/economics/techindicator.py
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ def create_tech_ind(
narray = np.where(data_frame > self._techind, 1, -1)

self._signal = pd.DataFrame(index=data_frame.index, data=narray)
self._signal.loc[0:tech_params.sma_period] = np.nan
self._signal.iloc[0:tech_params.sma_period] = np.nan
self._signal.columns = [
x + " SMA Signal" for x in data_frame.columns.values]

Expand All @@ -114,7 +114,7 @@ def create_tech_ind(
narray = np.where(data_frame > self._techind, 1, -1)

self._signal = pd.DataFrame(index=data_frame.index, data=narray)
self._signal.loc[0:tech_params.ema_period] = np.nan
self._signal.iloc[0:tech_params.ema_period] = np.nan
self._signal.columns = [
x + " EMA Signal" for x in data_frame.columns.values]

Expand All @@ -133,7 +133,7 @@ def create_tech_ind(
narray = np.where(self._techind > 0, 1, -1)

self._signal = pd.DataFrame(index=data_frame.index, data=narray)
self._signal.loc[0:tech_params.roc_period] = np.nan
self._signal.iloc[0:tech_params.roc_period] = np.nan
self._signal.columns = [
x + " ROC Signal" for x in data_frame.columns.values]

Expand Down Expand Up @@ -171,7 +171,7 @@ def create_tech_ind(
sma.columns = [x + " SMA" for x in data_frame.columns.values]
sma2.columns = [x + " SMA2" for x in data_frame.columns.values]
most = max(tech_params.sma_period, tech_params.sma2_period)
self._signal.loc[0:most] = np.nan
self._signal.iloc[0:most] = np.nan
self._techind = pd.concat([sma, sma2], axis=1)

elif name in ['RSI']:
Expand Down Expand Up @@ -240,7 +240,7 @@ def create_tech_ind(

self._signal = signal

self._signal.loc[0:tech_params.rsi_period] = np.nan
self._signal.iloc[0:tech_params.rsi_period] = np.nan
self._signal.columns = [
x + " RSI Signal" for x in data_frame.columns.values]

Expand Down Expand Up @@ -275,7 +275,7 @@ def create_tech_ind(
signal = signal.fillna(method='ffill')

self._signal = signal
self._signal.loc[0:tech_params.bb_period] = np.nan
self._signal.iloc[0:tech_params.bb_period] = np.nan
self._signal.columns = [
x + " " + name + " Signal" for x in data_frame.columns.values]

Expand Down
12 changes: 8 additions & 4 deletions finmarketpy/util/marketconstants.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
__author__ = 'saeedamen' # Saeed Amen

#
# Copyright 2016-2020 Cuemacro - https://www.cuemacro.com / @cuemacro
# Copyright 2016-2021 Cuemacro - https://www.cuemacro.com / @cuemacro
#
# Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the
# License. You may obtain a copy of the License at https://www.apache.org/licenses/LICENSE-2.0
Expand Down Expand Up @@ -133,8 +133,8 @@ class MarketConstants(object):

fx_options_tol = 1e-8

# overwrite field variables with those listed in MarketCred
def __init__(self):
# Overwrite field variables with those listed in MarketCred or we can pass through an override_fields dictionary
def __init__(self, override_fields={}):
try:
from finmarketpy.util.marketcred import MarketCred
cred_keys = MarketCred.__dict__.keys()
Expand All @@ -143,4 +143,8 @@ def __init__(self):
if k in cred_keys and '__' not in k:
setattr(MarketConstants, k, getattr(MarketCred, k))
except:
pass
pass

for k in override_fields.keys():
if '__' not in k:
setattr(MarketConstants, k, override_fields[k])

0 comments on commit f3dcd7a

Please sign in to comment.