Формирование нового столбца на основе математической задачи с использованием строк - PullRequest
0 голосов
/ 17 июня 2019

Я не очень хорошо справляюсь с операциями csv, так как ненавижу ошибки индекса или длины массива. Поэтому, пожалуйста, помогите мне с данной проблемой ниже. Возьмите любой набор данных фондового рынка, который состоит из открытого закрытия и следующего закрытия.

Я пробовал некоторые другие методы, такие как лямбда-функции, но не работал

Dfa = pd.read_csv('ACC.csv',header=0, index_col='Date', parse_dates=True)
short_window = 5
long_window = 21
signals = pd.DataFrame()
signals['signal'] = 0.0
signals['short_ema'] 
    =Dfa['Close'].ewm(span=short_window,adjust=False).mean()
signals['long_ema'] = Dfa['Close'].ewm(span=long_window, 
    adjust=False).mean()
signals['signal'][short_window:] = np.where(signals['short_ema']
    [short_window:]> signals['long_ema'][short_window:], 1.0, 0.0)
signals['positions'] = signals['signal'].diff()
Dfa['positions'] = []
if signals['positions'] is not None:
    Dfa['positions'] = Dfa['Close']
else:
    Dfa['positions'] = None
print(signals)
print(Dfa.head())

Мне нужен новый столбец в основном наборе данных, который уже есть, но только если сигнал положительный или отрицательный, тогда значения закрытия должны быть равны их 0. Если новый столбец создается по формуле (close [i] - close [+ 1]) / закрыть [я] и индекс должен быть датами. Итерация не должна выполняться с 0 значениями.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...