ASX shares find out best performance shares

in #invest6 years ago

In this post, I am going to pick up those companies whose share price increased at least 10%. I will figured out the percentage of these companies in their own industries.

import matplotlib.pyplot as plt
import pandas as pd
import csv
import numpy as np

def DrawBar(df,title_msg):
plt.figure(figsize=(8,4))
label = df['industry']
cmpcount = df['Company Count']
index = np.arange(len(label))
plt.bar(index, cmpcount,0.35)
plt.xlabel('Industry', fontsize=20)
plt.ylabel('Number of Companies', fontsize=20)
plt.xticks(index, label, fontsize=20, rotation=90)
plt.title(title_msg)
plt.show()


def DrawPie(slice_list,labels,colors,title_msg):
plt.style.use('ggplot')
plt.figure(figsize=(8,4))
#explode = (0,0.05,0.08,0.10,0,0,0)
plt.pie(slice_list,
#explode=explode,
labels=labels,colors=colors,
labeldistance = 1.15,autopct = '%3.1f%%',shadow = False,
startangle = 90,pctdistance = 0.6,counterclock = False)
plt.axis('equal')
plt.title(title_msg,y = 1.08)
plt.show()

dataFile = './shares_likely_jump_cashburn_filter.csv'
df =pd.read_csv(dataFile,header=0,index_col=0)
df.rename(columns={"Asx Code.1": "Asx Code"},inplace=True)
print(df.columns)

df_category = df.groupby('industry').agg({'Company Name':'count'}).rename(columns={'Company Name':'Company Count'}).reset_index()
print('all shares is',df.shape[0])
print(df_category[df_category['industry']=='Banks'])

df10 = df[(df['pricediff']>=10)]

df0_neg20 = df[(df['pricediff']<=-20)]

df10_group = df10.groupby('industry').agg({'Company Name':'count'}).rename(columns={'Company Name':'Company Count'}).reset_index()

df_merged = pd.merge(df10_group, df_category, how='inner', on=['industry'])

df_merged['Company Count'] = df_merged['Company Count_x']/df_merged['Company Count_y']*100

df_merged.drop(['Company Count_x', 'Company Count_y'], axis=1,inplace=True)

print(df_merged)

"""
We are going to draw bar chart to indicate percentage of companies with outstanding price changes in the industries.
"""

DrawBar(df_merged,'The Distribution of Companies ( percentage in their own industries) with Share Price climing more than 10% in the next Year')

This is all those industries and the percentage of companies in these area:

                                          industry  Company Count
0                         Automobiles & Components      33.333333
1                                    Capital Goods      21.052632
2               Commercial & Professional Services      35.294118
3                                Consumer Services      33.333333
4                           Diversified Financials      22.727273
5                                           Energy      32.352941
6                         Food, Beverage & Tobacco      28.571429
7                 Health Care Equipment & Services      36.363636
8                    Household & Personal Products      25.000000
9                                        Insurance      50.000000
10                                       Materials      42.647059
11                                           Media      10.000000
12                                      Not Applic      21.428571
13  Pharmaceuticals, Biotechnology & Life Sciences      26.470588
14                                     Real Estate      30.303030
15                                       Retailing      38.461538
16        Semiconductors & Semiconductor Equipment     100.000000
17                             Software & Services      26.153846
18                 Technology Hardware & Equipment      23.076923
19                      Telecommunication Services      22.222222
20                                  Transportation     100.000000

company_count_percentage.png

We can see there are two industries in which all companies inside had good share price performance, let's see who they are and their price trend in the market:

df10[df['industry']=='Semiconductors & Semiconductor Equipment']

Asx CodeCompany NameFinacial YearRevenue Increase %industrypricediff
4DS4DS MEMORY LIMITED6/30/20161053815.0Semiconductors & Semiconductor Equipment13.725100
BLGBLUGLASS LIMITED6/30/201786.0Semiconductors & Semiconductor Equipment24.898013

df10[df['industry']=='Transportation']

Asx CodeCompany NameFinacial YearRevenue Increase %industrypricediff
ALXATLAS ARTERIA12/31/201648.0Transportation13.94639

Coin Marketplace

STEEM 0.26
TRX 0.11
JST 0.033
BTC 64006.33
ETH 3077.08
USDT 1.00
SBD 3.87