Ваш код создает пустой DataFrame без четных имен столбцов.
А теперь посмотрите на order['trade_type'] = trade_type
.
Если содержится order в некоторых строках среди столбцов была одна с именем 'trade_type' (строка), а trade_type (переменная) была скалярной, тогда во всех строках в порядке получить это значение (в этом столбце).
Но поскольку order содержит без строк , нет места для записи.
Вместо васможет добавить строку, например:
order = order.append({'trade_type': trade_type}, ignore_index=True)
Остальной код в порядке, имя выходного файла в виде обычной строки также в порядке.
Другое решение: Простосоздайте DataFrame с одной строкой и одним именованным столбцом, заполненным вашей переменной:
order = pd.DataFrame([[trade_type]], columns=['trade_type'])
Затем запишите его в CSV-файл, как и раньше.