df.at[df.index[i], "position_hc"] = -lot_size * df.iloc[i]["收盘价_hc"] / df.iloc[i]["收盘价_rb"]这个的计算依据是什么
时间: 2024-06-08 07:11:33 浏览: 15
这个计算是在对期货合约进行套利时使用的,其中:
- lot_size 是期货合约的交易单位,表示每手交易的数量。
- df.iloc[i]["收盘价_hc"] 表示第 i 行数据中沪铜期货收盘价的数值。
- df.iloc[i]["收盘价_rb"] 表示第 i 行数据中螺纹钢期货收盘价的数值。
其中,沪铜期货和螺纹钢期货在交易所中通常是以不同的计价货币进行交易的,因此需要将它们进行换算。具体来说,假设当前沪铜期货的收盘价为 P_hc,螺纹钢期货的收盘价为 P_rb,交易单位为 lot_size,那么可以通过以下公式将螺纹钢期货的价值转换为沪铜期货的价值:
- P_hc * lot_size = P_rb * X
其中 X 表示螺纹钢期货的数量,等式右侧是螺纹钢期货的总价值,等式左侧是沪铜期货的总价值。将上述公式变形,可以得到:
- X = P_hc * lot_size / P_rb
因此,df.at[df.index[i], "position_hc"] = -lot_size * df.iloc[i]["收盘价_hc"] / df.iloc[i]["收盘价_rb"] 的计算依据就是将螺纹钢期货的价值转换为沪铜期货的价值,然后乘以交易单位得到所需交易的数量。其中负号表示卖出操作。
相关问题
last_row = df.iloc[-1] 行列交换
如果需要将 `last_row` 的行和列交换后再添加到 `forestdata` 中,可以使用 `pandas.DataFrame.transpose()` 函数进行转置,示例代码如下:
```python
# 获取 df 的最后一行数据,并将其转置
last_row = df.iloc[-1].to_frame().transpose()
# 将最后一行数据添加到 forestdata 中
forestdata = forestdata.append(last_row, ignore_index=True)
```
这里的 `last_row` 变量是一个 pandas Series,包含了 `df` 的最后一行数据。`to_frame()` 函数将其转换为一个 DataFrame,然后使用 `transpose()` 函数将其行和列交换。由于 `append` 函数默认按行添加数据,因此需要将 `last_row` 转置后才能直接添加到 `forestdata` 中。
需要注意的是,`transpose()` 函数返回的是一个新的 DataFrame,因此需要使用 `to_frame()` 将 `last_row` 转换为 DataFrame 后再进行转置。
unique_df = df.iloc[unique_indices]
`unique_df = df.iloc[unique_indices]` 这行代码在Python的数据处理中通常用于Pandas库,当你想要从DataFrame `df` 中选择不重复(unique)的行时使用。`unique_indices` 变量应该包含了数据框 `df` 中唯一值(无重复值)的行索引。
具体来说:
1. `df.iloc` 是Pandas DataFrame的切片方法,它基于行和列的整数索引来获取数据,`iloc` 等于 `.loc` 但不支持标签式引用(如`.loc['A']`)。
2. `unique_indices` 是一个数组或Index对象,它存储了数据框 `df` 中每一列(如果列是分类变量)或每一条记录(如果整个数据框是唯一值)的索引位置。
所以,当你执行这一行代码时,`unique_df` 就会是一个新DataFrame,其中只包含原始数据框 `df` 中那些在所有指定列(如果列是分类的)或者整个数据框中具有唯一值的行。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)