728x90
반응형

1. 전기(혹은 전년도) 보고서를 compare툴을 이용해서 차이점확인

수전해 기술은 좋은건뎅
수소 쪽 트리거가 확실히 보임

2. 기업엑셀에 실적 입력 (차트뽑아서 특이점확인)

시총 2470억 / 매출 700억 / -5억/ -10억 

  • 영익이 마이너스인데 뭐 볼게 있나
  • 이익이나 17, 18년도 보면. 매출원가율이 85~90% (87%이 마지노선)
  • 판관비율은 7% 아래정도는
  • 22.2q는 매출원가 90%, 판관비율 10%
  • 영업활동 현금은 + ??어떻게!!??
  • 다행히 CAPEX 투자는 없음 (엔지니어링 회사)
  • 매출채권 감소하는건 시른데...

3.기업제무제표 엑셀비교하며 상세비교 (계산기엑셀활용)

4.기업엑셀에 사업부별 성과 입력

  • 걍 매출에 조금 감소해서 다들 감소한거 말고 특별한건 모르겟는데

5. 2번,3번,4번 에서 내용을 보고서 주석을 통해서 상세 확인해서 블로그에 작성

6.위의 내용들을 바탕으로 PQC 새로 update

7. simrim으로 한번더 확인하고 종료

적자라서 simrim은 불가능

728x90
반응형
728x90
반응형

ver3: 22.2q
ver4: 22.3q

Q :
19년도 SW : 76000개
20년도 SW : 85000개
21년도 상반기 SW  : 70000개
21년도 SW : 100000개 134860개
22년도 SW : 120000개 111,000개

19년도 FTTH : 960개
20년도 FTTH : 1276개
21년도 상반기 SW : 908개
21년도 FTTH : 1500개 2000개
22년도 FTTH : 2300개2000개

Q는 점진적 상승중. 특별한 공시없이 꾸준히 상승중. 

추가 Q상승 기대 : 학내망 + 삼성인도투자 + 데이터센터 => 하지만 모두 불확실. 대충 추이보고 계산


일반적인경우 수주잔고 고려해 앞으로 3배씩 더 만들어야함

1분기, 2분기, 3분기,4분기
매출 추정 : 320억 / 406억 / 340억306억 / 420억 326억300억
영업이익 : 70억 / 87억 / 7254억 / 90억
당기순이익 : 70억/ 80억 /57 56억/ 80억

21년 순이익 : 310억 -> 290억으로 감소 22년도 순이익은
PER진짜 최소 12는 주자 아직도 PER 7.5

310억*12 = 3720억 (36000원)
310억*10 = 3100억 (30000원)
310억*7 = 2170억(21000원)
현재 시총은? -> 2360억(23000원) -> 진짜 너무하다.

22.1q,2q는 순이익 37억, 62억
1q는 환율개발비 때문에 영익단 망가짐.

2q는 다시 회복한 모습 하지만 21년도에 비해선 아직 미비
환율이 높음에도 어느정도 버팀. 하지만 여전히 기대한 만큼 폭팔적 증가는 없음

3q 는 계속 매출은 정체. 제품가격은 하락, 생산량은 소폭 증가
기타수익(환차익 증가) : 환율높으면 좋은겨?
수주상황만 보면 내년 2Q 겁나 만들어야함

디스카운트 요인을 한번 찾아보자!
1.PBR이 2가 넘는다.
  주당 순자산의 가치가 높다는건데...20.4Q 무증을 해서 주식수가 증가->PBR이 2배가 됨 -> 이유는 안됨
2.재고자산회전율이 365일 가까이됨
  제조업 특성. 다른 5G회사도 다르지는 않음. 시스코도 12개월 나타냄 -> 이유는 안됨
3.영업활동 현금흐름이 들쭉날쭉 -> 어렵네......일정하지는 않아!!

21.1Q 영업활동분기현금/당기순이익 : -70억 / 70억
21.2Q 영업활동분기현금/당기순이익 : +110억 / 80억

1Q. 당기순이익70억 + 영업자산 부채증감 -140억 = -70억
2Q 당기순이익80억 + 영업자산 부채증감 +13억 = 93억

Why? (어렵다..공부필요)
 -영업자산부채의증감 1Q -> 2Q : 
 -1.매출채권 -110억 -> - 90억 : 못받을돈을 난중에 받는거니깐 ok
 -2.선급금 -1억(증가)->11억(감소) : 재화 받기전 돈을 미리주는것(마이너스ok), 선급금 준것에 대한 재화를 받은것.재화금액(플러스ok)
 -3.재고자산 -56억(증가)->-6억(증가) :  재고자산이 줄었다. 아주많이. 재고가 많이 팔린건가. 충당금은 큰 차이가 없음
 -4.매입채무 -24억(감소)->3(증가) : 갚아야할돈을 갚았다. (마이너스ok), 그러면 또 플러스는 뭐지..
 -5.미지급금 2억(증가) -> 45억(증가) : 납부해야할돈. 언젠간 빠져야하돈 아님? 증가가 좋은것만은 아닐꺼같은데.
 -6.선수금 -36억(증가)->-19억(증가) : 거래처로 부터 미리받은돈??

+알파 매출이500억 추가로 증가하면

워니비리치 블로그 (21.01.21)
  워너비리치(21.06.11)

연매출 2000억 달성시
영업이익률20%
영업이익 400억 당기순이익 380억
380억*PER12 = 4560억 (44500원)
380억*PER10 = 3800억 (37000원)
380억*PER7 =  2660억 (26000원)

결론: 진짜 지할일은 잘하고 있음. 벨류가 너무 저평가. 시장에서 안봐주면...뭐 끝..
만약 예상대로 올해 분기당기순이익 85억찍고, 순이익 310억 찍었지만 시장이 per가 7이라면 21000원이 맞음
per7 : 21000, per10: 30000, per12: 36000

긍정회로 돌려서 매출이 500억이 증가한다면 주가는 26000원/2년 ~ 45000원/5년 까지 바라볼수 있음

22년은 연매출 1000억이라도 달성하길..너무 큰 꿈인가. 좀만 더 기다려도 될듯. 팔 이유가 딱히 없음

22.3q 다시PQC해보면 
아무일도 없이 이정도만 꾸준히 해주면 매출액은 분기당 300억 정도임
영업이익률도 현재 17~20정도

현재까지 추가로 매출올라가고 한것은 없지만....
당장 남아있는 수주잔고만 1000억가까움
당장 분기당 최소소소소소 매출 300억이 나와줘야함
근데 수주잔고 * 2~3배가 평소 매출액이였음...
당장 4분기부턴 매출액이 600억은나와줘야하는데 그래도 양심상 500억 잡아보자
내년은 상반기만 1000억 가능...그럼 내년 총매출액은 또 2000억이 나오네

연매출 2000억 달성시
영업이익률20%
영업이익 400억 당기순이익 380억
380억*PER12 = 4560억 (44500원)
380억*PER10 = 3800억 (37000원)
380억*PER7 =  2660억 (26000원)

26000원은 줘라 좀

 

 

728x90
반응형
728x90
반응형

pip를 이용한 특정 버전 패키지 설치 명령어는 아래와 같다.

pip install [package_name]==[package version]

특정 패키지를 업데이트 하는 경우의 명령어는 아래와 같다.

pip install --upgrade [package_name]

특정 패키지를 특정 버전으로 업데이트 하는 경우는 아래와 같다.

pip install --upgrade [package_name]==[package version]

예시

pip install --upgrade scikit-learn==0.22.1

특정 버전 업데이트를 하는 경우는 굳이 --upgrade없이 아래와 같이 사용해도 된다.

예시

pip install scikit-learn==0.22.1

실행파일만들기 

pyinstaller --noconsole --onefile test.py

728x90
반응형
728x90
반응형

from tkinter import *
from tkinter.filedialog import *
import pandas as pd
import xlrd
import re

file = "C:\\Users\\htsnote\\Desktop\\pypy\\juju\\삼보.xlsx"
#file = "C:\\Users\\htsnote\\Desktop\\pypy\\juju\\아세아제지.xlsx"
xls = xlrd.open_workbook(file, on_demand=True)
nsheets = xls.nsheets  # 179개

#목차 확인.
table_of_contents = pd.read_excel(file, sheet_name="Page1").fillna(0)
all_table_of_contents = table_of_contents.values

for i in range(len(all_table_of_contents)):
    if "주식의 총수" in all_table_of_contents[i][0]:
        str_num_of_stock = all_table_of_contents[i][0]
        #print(str_num_of_stock)
        for j in range(len(str_num_of_stock)-1,0,-1):
            if str_num_of_stock[j] == ".":
                tag_num_of_stock = j + 1
                break
        page_num_of_stock = int(str_num_of_stock[tag_num_of_stock:])
    elif "배당에 관한 사항" in all_table_of_contents[i][0]:
        str_allocation = all_table_of_contents[i][0]
        for j in range(len(str_allocation)-1,0,-1):
            if str_allocation[j] == ".":
                tag_allocation = j + 1
                break
        page_allocation = int(str_allocation[tag_allocation:])
    elif "주주에 관한 사항" in all_table_of_contents[i][0]:
        str_juju = all_table_of_contents[i][0]
        for j in range(len(str_juju)-1,0,-1):
            if str_juju[j] == ".":
                tag_juju = j + 1
                break
        page_juju = int(str_juju[tag_juju:])
    elif "임원 및 직원 등의 현황" in all_table_of_contents[i][0]:
        str_employee = all_table_of_contents[i][0]
        for j in range(len(str_employee)-1,0,-1):
            if str_employee[j] == ".":
                tag_employee = j + 1
                break
        page_employee = int(str_employee[tag_employee:])
    elif "임원의 보수" in all_table_of_contents[i][0]:
        str_ceo = all_table_of_contents[i][0]
        for j in range(len(str_ceo)-1,0,-1):
            if str_ceo[j] == ".":
                tag_ceo = j + 1
                break
        page_ceo = int(str_ceo[tag_ceo:])
    

flag_num_of_stock = 0 #주식의 총수 
flag_allocation_per = 0 #배당성향
flag_allocation_won = 0 #배당금
flag_juju = 0 #주주관한 사항
flag_employee = 0 #직원 등 현황
flag_ceo = 0 #임원의 보수

#1.주식의 총수
for p in range(page_num_of_stock, page_num_of_stock+3): #pdf페이지와 엑셀 페이지가 2page정도 차이남.. 이것도 여러게 확인필요
    page = 'Page' + str(p)
    readXL = pd.read_excel(file, sheet_name=page).fillna(0)
    readXL = readXL.values
    for i in range(len(readXL)):
        # if readXL[i][0] in ["Ⅳ. 발행주식의 총수 (Ⅱ-Ⅲ)"]:
        if "발행주식의 총수" in str(readXL[i][0]):
            flag_num_of_stock = 1
            print(readXL[i])
            print(readXL[i][3])
            break
        elif "작성기준지침에 따라 분기보고서에는 기재하지 않습니다" in str(readXL[i][0]):
            flag_num_of_stock = 1
            print(readXL[i])
            print(readXL[i][0])
            break
        elif "작성기준지침에 따라 반기보고서에는 기재하지 않습니다" in str(readXL[i][0]):
            flag_num_of_stock = 1
            print(readXL[i])
            print(readXL[i][0])
            break
    if flag_num_of_stock == 1:
        break
#2.배당에 관한 사항
for p in range(page_allocation, page_allocation+3):
    page = 'Page' + str(p)
    readXL = pd.read_excel(file, sheet_name=page).fillna(0)
    readXL = readXL.values
    for i in range(len(readXL)):
        if "현금배당성향" in str(readXL[i][0]):
            flag_allocation_per = 1
            print(readXL[i])
            print(readXL[i][3])
            break
    for i in range(len(readXL)):
        if "주당 현금배당금" in str(readXL[i][0]):
            flag_allocation_won = 1
            print(readXL[i])
            print(readXL[i][3])
            break
    if flag_allocation_per == 1:
        break
    elif flag_allocation_won == 1:
        break

#3. 주주에 관한 사항
for p in range(page_juju, page_juju+3):
    page = 'Page' + str(p)
    readXL = pd.read_excel(file, sheet_name=page).fillna(0)
    readXL = readXL.values
    for i in range(len(readXL)):
        if "계" in str(readXL[i][0]) and "보통주" in str(readXL[i][1]) :
            flag_juju = 1
            if type(readXL[i][-2]) is float:
                print(readXL[i])
                print(readXL[i][-2])
            elif type(readXL[i][-3]) is float:
                print(readXL[i])
                print(readXL[i][-3])
            break
    if flag_juju == 1:
        break

#4. 직원 등 현황
#for p in range(page_employee, page_ceo+10):#166
for p in range(page_ceo-2, page_ceo + 3):  # 166
    page = 'Page' + str(p)
    readXL = pd.read_excel(file, sheet_name=page).fillna(0)
    readXL = readXL.values
    for i in range(len(readXL)):
        if "합 계" in str(readXL[i][0]) :
            flag_employee = 1
            print(readXL[i]) #여러 보고서 비교가 필요함
            print(readXL[i][2])  #직원수
            print(readXL[i][5])  #근속연수
            print(readXL[i][9])  #평균연봉
            break
        elif "작성기준지침에 따라 분기보고서에는 기재하지 않습니다" in str(readXL[i][0]):
            flag_employee = 1
            print(readXL[i])
            print(readXL[i][0])
            break
    if flag_employee == 1:
        break

#4. 임원의 보수
for p in range(page_ceo, page_ceo+3):
    page = 'Page' + str(p)
    readXL = pd.read_excel(file, sheet_name=page).fillna(0)
    readXL = readXL.values
    for i in range(len(readXL)):
        if "인원수" in str(readXL[i][0]) :
            flag_ceo = 1
            print(readXL[i+1]) #여러 보고서 비교가 필요함
            print(readXL[i+1][5])
            break
        elif "작성기준지침에 따라 분기보고서에는 기재하지 않습니다" in str(readXL[i][0]):
            flag_ceo = 1
            print(readXL[i])
            print(readXL[i][0])
            break
    if flag_ceo == 1:
        break
728x90
반응형
728x90
반응형

1. 전기(혹은 전년도) 보고서를 compare툴을 이용해서 차이점확인

환율 무시 못하겟는데

2. 기업엑셀에 실적 입력 (차트뽑아서 특이점확인)
시총 1773억 / 매출액 357억 / 영익 70억 / 당기순이익 62억

  • 좋은데..도데체 왜...

  • 좋은데 왜 222...

  • 현금흐름이 왜이러지...

  • EPS 증가율이 꾸준하지는 않아...사이클??

  • 여기도 재고자산 매출채권 급증

3.기업제무제표 엑셀비교하며 상세비교 (계산기엑셀활용)
시총 1773억 / 매출액 357억 / 영익 70억 / 당기순이익 62억

  22.2q 전기대비 증감액 전기대비 증감율
현금성자산 259억 -5억 -17.9%
매출채권 184억 104억 +127.9%
기타유동금융자산 437억 -209억 -32.3%
재고자산 442억 92억 +26.3%
기타비유동금융자산 169억 61억 55.8%
매입채무 202억 -33억 -14.1%
  • 포괄손익은 걍 매출액 늘어나면 그만큼 영익 늘고 줄고 하는중
  • 영업활동현금흐름을 좀 파 봐야겟음

4.기업엑셀에 사업부별 성과 입력

  • 유비쿼스는 우등생 (357억/70억/62억)
  • 넥싸이트 미쳤음...뭐임????? 매출 9억 -> 48억 (48억/13억/18억)
  • 금융은 넘 어려워 패스..당순 30억으로 미침
  • 미국쪽 매출 나쁘지 않음 (23억/1억/1억)
  • 일본쪽이 처음으로 생김
  • 바이랩..처음으로 매출나옴..하지만 적자지속 => 유홀 나쁘지 않은데
  • 역시나 아직 수출은 안찍힘

5. 2번,3번,4번 에서 내용을 보고서 주석을 통해서 상세 확인해서 블로그에 작성

  • 매출채권 대손 충당금은 그대로면 다 팔 자신 있는거
  • 재고자산은 원재료가 늘어난거라...좋은건가.
    제품은 그대로임...만들 원재료가 늘어난다는건 주문이 많다는거?
  • 손익분기로 봐도 아주 좋넹..
  • 스위치고, FTTH 고 단가가 안나와서 좀 문제임

6.위의 내용들을 바탕으로 PQC 새로 update

7. simrim으로 한번더 확인하고 종료

728x90
반응형

+ Recent posts