Open DrPepper8888 opened 4 months ago
`import pandas as pd
df['CURRENCY_PAIR'] = df['DR_ACCT_CURR_CD'] + '/' + df['CR_ACCT_CURR_CD']
df_grouped = df.groupby('CURRENCY_PAIR')['TRAN_AMT'].sum().reset_index()
plt.figure(figsize=(10, 6)) sns.barplot(x='CURRENCY_PAIR', y='TRAN_AMT', data=df_grouped) plt.title('Transaction Volume by Currency Pair') plt.xlabel('Currency Pair') plt.ylabel('Transaction Volume') plt.xticks(rotation=45) plt.show()
currency_pairs = df['CURRENCY_PAIR'].unique() # 获取所有唯一的货币对 correlation_matrix = np.zeros((len(currency_pairs), len(currency_pairs)))
for i, pair1 in enumerate(currency_pairs): for j, pair2 in enumerate(currency_pairs): if pair1 == pair2: # 相关系数矩阵的对角线为1 correlation_matrix[i, j] = 1 else:
# 例如,使用价格变动或收益率 df_pair1 = df[df['CURRENCY_PAIR'] == pair1] df_pair2 = df[df['CURRENCY_PAIR'] == pair2] correlation_matrix[i, j] = np.corrcoef(df_pair1['TRAN_AMT'], df_pair2['TRAN_AMT'])[0, 1]
plt.figure(figsize=(12, 12)) sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', square=True, cbar_kws={"shrink": .5}) plt.title('Correlation Matrix of Currency Pairs') plt.show()`
`import pandas as pd
假设df是原始DataFrame,并且它包含了'DR_ACCT_CURR_CD'和'CR_ACCT_CURR_CD'列
创建货币对列,格式为 '基础货币/报价货币'
df['CURRENCY_PAIR'] = df['DR_ACCT_CURR_CD'] + '/' + df['CR_ACCT_CURR_CD']
可以使用'CURRENCY_PAIR'列来进行后续的分析
例如,计算每个货币对的交易量
df_grouped = df.groupby('CURRENCY_PAIR')['TRAN_AMT'].sum().reset_index()
可视化交易量
plt.figure(figsize=(10, 6)) sns.barplot(x='CURRENCY_PAIR', y='TRAN_AMT', data=df_grouped) plt.title('Transaction Volume by Currency Pair') plt.xlabel('Currency Pair') plt.ylabel('Transaction Volume') plt.xticks(rotation=45) plt.show()
相关性分析
假设我们已经有了一个DataFrame 'df',其中包含了货币对的交易数据
我们首先需要计算货币对之间的相关系数矩阵
currency_pairs = df['CURRENCY_PAIR'].unique() # 获取所有唯一的货币对 correlation_matrix = np.zeros((len(currency_pairs), len(currency_pairs)))
for i, pair1 in enumerate(currency_pairs): for j, pair2 in enumerate(currency_pairs): if pair1 == pair2: # 相关系数矩阵的对角线为1 correlation_matrix[i, j] = 1 else:
这里我们简单地使用交易量来计算相关性,实际情况可能需要更复杂的方法
可视化相关性矩阵
plt.figure(figsize=(12, 12)) sns.heatmap(correlation_matrix, annot=True, cmap='coolwarm', square=True, cbar_kws={"shrink": .5}) plt.title('Correlation Matrix of Currency Pairs') plt.show()`