AIM-PIbd-32-Stroev-V.-M/lab_1/lab1.ipynb
2024-09-28 09:51:42 +04:00

259 KiB

Старт

Выгрузка данных из csv файла в датафрейм

In [1]:
import pandas as pd
df = pd.read_csv("static/csv/TSLA.csv")
print(df)
      Insider Trading                    Relationship        Date  \
0    Kirkhorn Zachary         Chief Financial Officer  2022-03-06   
1      Taneja Vaibhav        Chief Accounting Officer  2022-03-06   
2    Baglino Andrew D  SVP Powertrain and Energy Eng.  2022-03-06   
3      Taneja Vaibhav        Chief Accounting Officer  2022-03-05   
4    Baglino Andrew D  SVP Powertrain and Energy Eng.  2022-03-05   
..                ...                             ...         ...   
151         Musk Elon                             CEO  2021-11-11   
152         Musk Elon                             CEO  2021-11-11   
153         Musk Elon                             CEO  2021-11-10   
154         Musk Elon                             CEO  2021-11-10   
155         Musk Elon                             CEO  2021-11-10   

         Transaction     Cost   Shares    Value ($) Shares Total  \
0               Sale   196.72   10,455    2,056,775      203,073   
1               Sale   195.79    2,466      482,718      100,458   
2               Sale   195.79    1,298      254,232       65,547   
3    Option Exercise     0.00    7,138            0      102,923   
4    Option Exercise     0.00    2,586            0       66,845   
..               ...      ...      ...          ...          ...   
151             Sale  1098.24   52,099   57,217,365  167,485,682   
152             Sale  1072.22  587,638  630,079,728  167,537,781   
153             Sale  1019.03   58,101   59,206,941  167,346,837   
154             Sale  1048.46  199,893  209,580,234  167,146,944   
155             Sale  1068.09  242,006  258,484,236  166,904,938   

          SEC Form 4  
0    Mar 07 07:58 PM  
1    Mar 07 07:57 PM  
2    Mar 07 08:01 PM  
3    Mar 07 07:57 PM  
4    Mar 07 08:01 PM  
..               ...  
151  Nov 12 06:03 AM  
152  Nov 12 06:02 AM  
153  Nov 10 09:46 PM  
154  Nov 10 09:47 PM  
155  Nov 10 09:49 PM  

[156 rows x 9 columns]

Диаграмма рассеивания. Взаимосвязь между количеством акций и их стоимостью. По данной диаграмме видно, что чем больше кол-во акций, чем выше стоимость.

In [2]:
import matplotlib.pyplot as plt

df_reduced = df.iloc[::15]

plt.figure(figsize=(10, 6))
plt.scatter(df_reduced['Shares'], df_reduced['Value ($)'], alpha=0.5)
plt.title('Взаимосвязь между количеством акций и их стоимостью')
plt.xlabel('Количество акций (Shares)')
plt.ylabel('Стоимость ($)')
plt.grid(True)
plt.show()
No description has been provided for this image

Объем продаж акций по датам. По этой диаграмме можно сказать, что каждые 2 месяца продажи растут.

In [11]:
df['Date'] = pd.to_datetime(df['Date'])  # Преобразуем столбец Date в datetime
sales_by_date = df.groupby('Date')['Value ($)'].sum().iloc[::3]

plt.figure(figsize=(12, 6))
plt.plot(sales_by_date.index, sales_by_date.values, marker='o')
plt.title('Объем продаж акций по датам')
plt.xlabel('Дата')
plt.ylabel('Объем продаж ($)')
plt.grid(True)
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
No description has been provided for this image

Распределение количества транзакций по должностям. По данной диаграмме понятно, что должность CEO выполняет большее кол-во транзакций.

In [21]:
transactions_by_position = df['Relationship'].value_counts()

plt.figure(figsize=(10, 6))
transactions_by_position.plot(kind='bar')
plt.title('Распределение количества транзакций по должностям')
plt.xlabel('Должность')
plt.ylabel('Количество транзакций')
plt.xticks(rotation=45)
plt.tight_layout()
plt.show()
No description has been provided for this image