analyser_hj3415 2.6.5__py2.py3-none-any.whl → 2.6.8__py2.py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
@@ -84,21 +84,6 @@ def mil(code: str) -> dict:
84
84
  '가치지표': {'FCF': fcf_dict, 'PFCF': pfcf_dict, 'PCR': pcr_dict},
85
85
  'date': [각 유효한 값의 년월값 리스트(ex- 2020/09)],
86
86
  }
87
-
88
- FCF는 영업현금흐름에서 자본적 지출(유·무형투자 비용)을 차감한 순수한 현금력이라 할 수 있다.
89
- 말 그대로 자유롭게(Free) 사용할 수 있는 여윳돈을 뜻한다.
90
- 잉여현금흐름이 플러스라면 미래의 투자나 채무상환에 쓸 재원이 늘어난 것이다.
91
- CAPEX(Capital expenditures)는 미래의 이윤을 창출하기 위해 지출된 비용을 말한다.
92
- 이는 기업이 고정자산을 구매하거나, 유효수명이 당회계년도를 초과하는 기존의 고정자산에 대한 투자에 돈이 사용될 때 발생한다.
93
-
94
- 잉여현금흐름이 마이너스일때는 설비투자가 많은 시기라 주가가 약세이며 이후 설비투자 마무리되면서 주가가 상승할수 있다.
95
- 주가는 잉여현금흐름이 증가할때 상승하는 경향이 있다.
96
- fcf = 영업현금흐름 - capex
97
-
98
- 가치지표평가
99
- price to fcf 계산
100
- https://www.investopedia.com/terms/p/pricetofreecashflow.asp
101
- pcr보다 정확하게 주식의 가치를 평가할수 있음. 10배이하 추천
102
87
  """
103
88
  c103q = myredis.C103(code, 'c103현금흐름표q')
104
89
  c104q = myredis.C104(code, 'c104q')
@@ -114,12 +99,12 @@ def mil(code: str) -> dict:
114
99
  d3, 영업활동현금흐름 = c103q.sum_recent_4q('영업활동으로인한현금흐름')
115
100
 
116
101
  d4, roic = c104q.sum_recent_4q('ROIC')
117
- _, roic_dict = c104q.find_with_yoy('ROIC')
102
+ _, roic_dict = c104q.find_without_yoy('ROIC')
118
103
  d5, roe = c104q.latest_value_pop2('ROE')
119
104
  roe106 = c106q.find('ROE')
120
105
  d6, roa = c104q.latest_value_pop2('ROA')
121
106
 
122
- _, pcr_dict = c104q.find_with_yoy('PCR')
107
+ _, pcr_dict = c104q.find_without_yoy('PCR')
123
108
 
124
109
  try:
125
110
  주주수익률 = round((재무활동현금흐름 / marketcap억 * -100), 2)
@@ -186,10 +171,11 @@ def blue(code: str) -> dict:
186
171
  logger.debug(f'유동비율 {유동비율} / [{d1}]')
187
172
 
188
173
  c104y = myredis.C104(code, 'c104y')
189
- _, dict이자보상배율y = c104y.find_with_yoy('이자보상배율')
190
- _, dict순운전자본회전율y = c104y.find_with_yoy('순운전자본회전율')
191
- _, dict재고자산회전율y = c104y.find_with_yoy('재고자산회전율')
192
- _, dict순부채비율y = c104y.find_with_yoy('순부채비율')
174
+ c106q_재고자산회전율 = myredis.C106.make_like_c106(code, 'c104q', '재고자산회전율')
175
+ _, dict이자보상배율y = c104y.find_without_yoy('이자보상배율')
176
+ _, dict순운전자본회전율y = c104y.find_without_yoy('순운전자본회전율')
177
+ _, dict재고자산회전율y = c104y.find_without_yoy('재고자산회전율')
178
+ _, dict순부채비율y = c104y.find_without_yoy('순부채비율')
193
179
 
194
180
  c104q = myredis.C104(code, 'c104q')
195
181
  d6, 이자보상배율q = c104q.latest_value_pop2('이자보상배율')
@@ -216,6 +202,7 @@ def blue(code: str) -> dict:
216
202
  '이자보상배율': (이자보상배율q, dict이자보상배율y),
217
203
  '순운전자본회전율': (순운전자본회전율q, dict순운전자본회전율y),
218
204
  '재고자산회전율': (재고자산회전율q, dict재고자산회전율y),
205
+ 'c106q_재고자산회전율': c106q_재고자산회전율,
219
206
  '순부채비율': (순부채비율q, dict순부채비율y),
220
207
  'date': tools.set_data(d1, d6, d7, d8, d9), # ''값을 제거하고 리스트로 바꾼다.
221
208
  }
@@ -236,7 +223,7 @@ def growth(code: str) -> dict:
236
223
  c104y = myredis.C104(code, 'c104y')
237
224
  c106y = myredis.C106(code, 'c106y')
238
225
 
239
- _, dict매출액증가율y = c104y.find_with_yoy('매출액증가율')
226
+ _, dict매출액증가율y = c104y.find_without_yoy('매출액증가율')
240
227
 
241
228
  c104q = myredis.C104(code, 'c104q')
242
229
  d2, 매출액증가율q = c104q.latest_value_pop2('매출액증가율')
@@ -171,20 +171,6 @@ def blue(code: str) -> Tuple[int, int, int, int, int]:
171
171
  tuple : 유동비율, 이자보상배율, 순부채비율, 순운전자본회전율, 재고자산회전율 평가 포인트
172
172
 
173
173
  Notes:
174
- <유동비율>
175
- 100미만이면 주의하나 현금흐름창출력이 좋으면 괜찮을수 있다.
176
- 만약 100%이하면 유동자산에 추정영업현금흐름을 더해서 다시계산해보아 기회를 준다.
177
- <이자보상배율>
178
- 이자보상배율 영업이익/이자비용으로 1이면 자금사정빡빡 5이상이면 양호
179
- <순운전자금회전율>
180
- 순운전자금 => 기업활동을 하기 위해 필요한 자금 (매출채권 + 재고자산 - 매입채무)
181
- 순운전자본회전율은 매출액/순운전자본으로 일정비율이 유지되는것이 좋으며 너무 작아지면 순운전자본이 많아졌다는 의미로 재고나 외상이 쌓인다는 뜻
182
- <재고자산회전율>
183
- 재고자산회전율은 매출액/재고자산으로 회전율이 낮을수록 재고가 많다는 이야기이므로 불리 전년도등과 비교해서 큰차이 발생하면 알람.
184
- 재고자산회전율이 작아지면 재고가 쌓인다는뜻
185
- <순부채비율>
186
- 부채비율은 업종마다 달라 일괄비교 어려우나 순부채 비율이 20%이하인것이 좋고 꾸준히 늘어나지 않는것이 좋다.
187
- 순부채 비율이 30%이상이면 좋치 않다.
188
174
  """
189
175
  def _calc_point_with_std(data: dict) -> int:
190
176
  """표준편차를 통해 점수를 계산하는 내부 함수
@@ -285,6 +271,7 @@ def blue(code: str) -> Tuple[int, int, int, int, int]:
285
271
  # 재고자산회전율이 작아지면 재고가 쌓인다는뜻
286
272
  _, dict_y = 재고자산회전율
287
273
  p = _calc_point_with_std(data=dict_y)
274
+ # 라이벌기업과 비교점수 추가
288
275
  logger.debug(f'재고자산회전율평가 point : {p}')
289
276
  return p
290
277
 
analyser_hj3415/cli.py CHANGED
@@ -2,7 +2,7 @@ import argparse
2
2
  import os
3
3
 
4
4
  from utils_hj3415 import noti, utils
5
- from utils_hj3415.utils import SettingsManager
5
+ from utils_hj3415.helpers import SettingsManager
6
6
  from analyser_hj3415.myredis import red_ranking, mil_n_score, red_n_score
7
7
  from db_hj3415 import myredis
8
8
 
@@ -2,7 +2,6 @@ from analyser_hj3415.analysers import eval, score
2
2
  from typing import Dict, Tuple
3
3
  from collections import OrderedDict
4
4
  from db_hj3415 import myredis as db_myredis
5
- from utils_hj3415 import utils
6
5
 
7
6
  page = '.analyser'
8
7
  myredis_base = db_myredis.Base()
analyser_hj3415/tools.py CHANGED
@@ -167,27 +167,6 @@ def calc유동비율(code: str, pop_count: int) -> Tuple[str, float]:
167
167
  return 유동비율date, 유동비율value
168
168
 
169
169
 
170
- """
171
- FCF는 “Free Cash Flow”의 약자로, 한국어로는 “자유 현금 흐름”이라고 합니다. FCF는 기업이 운영 활동을 통해 창출한 현금 중에서 영업 및 자본적 지출을
172
- 제외하고 남은 현금을 의미합니다. 이는 기업의 재무 건전성을 평가하는 중요한 지표로 사용됩니다. 자유 현금 흐름은 기업이 부채를 상환하고, 배당금을 지급하며,
173
- 추가적인 투자를 할 수 있는 자금을 나타냅니다.
174
-
175
- FCF의 중요성
176
-
177
- 1. 재무 건전성 평가: FCF는 기업이 실제로 얼마나 많은 현금을 창출하고 있는지를 보여줍니다. 이는 기업의 재무 건전성을 평가하는 데 중요한 지표입니다.
178
- 2. 투자 결정: 투자자들은 FCF를 통해 기업의 성장 가능성을 평가하고, 투자 결정을 내리는 데 참고합니다.
179
- 3. 배당 지급 능력: FCF는 기업이 주주들에게 배당금을 지급할 수 있는 능력을 나타냅니다.
180
- 4. 부채 상환: 기업은 FCF를 이용해 부채를 상환하고, 재무 구조를 개선할 수 있습니다.
181
-
182
- CAPEX는 “Capital Expenditures”의 약자로, 한국어로는 “자본적 지출”이라고 합니다. CAPEX는 기업이 장기 자산을 구입하거나 유지하는 데 사용하는
183
- 비용을 의미합니다. 이는 기업이 장기적인 성장을 위해 자산을 확장, 업그레이드 또는 유지하는 데 필요한 비용입니다. 이러한 자산에는 부동산, 건물, 기계,
184
- 장비 등이 포함됩니다.
185
-
186
- CAPEX가 거의 없거나 아예 없는 업종에서도 자유 현금 흐름(Free Cash Flow, FCF)을 계산할 수 있습니다. CAPEX가 없는 경우,
187
- 계산식에서 CAPEX 부분을 0으로 처리하면 됩니다.
188
- """
189
-
190
-
191
170
  def findFCF(code: str) -> dict:
192
171
  """
193
172
  FCF 계산
@@ -229,20 +208,6 @@ def findFCF(code: str) -> dict:
229
208
  return dict(sorted(r_dict.items(), reverse=False))
230
209
 
231
210
 
232
- """
233
- PFCF의 중요성
234
- 1. 기업 가치 평가: PFCF는 기업이 창출하는 현금 흐름에 비해 주가가 적정한지 평가하는 데 사용됩니다. 낮은 PFCF는 주가가 상대적으로 저평가되었음을 나타낼
235
- 수 있고, 높은 PFCF는 주가가 상대적으로 고평가되었음을 나타낼 수 있습니다.
236
- 2. 투자 결정: 투자자들은 PFCF를 사용하여 현금 흐름 창출 능력 대비 주가가 매력적인지를 판단하고, 투자 결정을 내리는 데 참고합니다.
237
- 3. 비교 분석: 같은 산업 내 다른 기업들과 비교하여, 어느 기업이 더 효율적으로 현금 흐름을 창출하는지를 평가할 수 있습니다.
238
-
239
- PFCF의 한계
240
-
241
- •산업 특성: PFCF는 산업마다 적정한 수준이 다를 수 있습니다. 예를 들어, 기술 산업과 제조 산업의 적정 PFCF는 다를 수 있습니다.
242
- •일회성 항목: 특정 연도의 일회성 비용이나 수익이 FCF에 영향을 미칠 수 있으며, 이는 PFCF 계산에 왜곡을 가져올 수 있습니다.
243
- """
244
-
245
-
246
211
  def findPFCF(code: str) -> dict:
247
212
  """Price to Free Cash Flow Ratio(주가 대비 자유 현금 흐름 비율)계산
248
213
 
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: analyser_hj3415
3
- Version: 2.6.5
3
+ Version: 2.6.8
4
4
  Summary: Stock analyser and database processing programs
5
5
  Author-email: Hyungjin Kim <hj3415@gmail.com>
6
6
  Description-Content-Type: text/markdown
7
7
  Classifier: License :: OSI Approved :: MIT License
8
- Requires-Dist: utils-hj3415>=2.7.0
9
- Requires-Dist: db-hj3415>=3.7.3
8
+ Requires-Dist: utils-hj3415>=2.8.0
9
+ Requires-Dist: db-hj3415>=3.8.1
10
10
  Project-URL: Home, https://www.hyungjin.kr
11
11
 
12
12
  ### analyser-hj3415
@@ -0,0 +1,14 @@
1
+ analyser_hj3415/.DS_Store,sha256=qr9-0FPn5CFKe6kEu8_dWCNhzQ0sN7bwQgffKsaJEEo,6148
2
+ analyser_hj3415/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
+ analyser_hj3415/cli.py,sha256=eLo3U2VpBXVFwCCwxvge-nLc6wEeWWCbcORHRFELAFs,7356
4
+ analyser_hj3415/myredis.py,sha256=e9WH9Vbyph3jsA1TO9KWjow6-wxct4vLwINjRVHw1IQ,9609
5
+ analyser_hj3415/tools.py,sha256=lyfvmze9e4lGqgimuVOXUbgt7YNaJ7h8PpC7dWaaW94,10942
6
+ analyser_hj3415/trash.py,sha256=zF-W0piqkGr66UP6-iybo9EXh2gO0RP6R1FnIpsGkl8,12262
7
+ analyser_hj3415/analysers/eval.py,sha256=Ihx1UiNbrUUPgaZLNvbWQfO_aAwlB9vxREXJl7HNA_c,12072
8
+ analyser_hj3415/analysers/report.py,sha256=yY-AeDHOqDPrm4lpvZv3NPTJK1Z7lKsjoO5ck8AP6u4,9007
9
+ analyser_hj3415/analysers/score.py,sha256=8dlnYu-iQiwY-pkKH4N05MVanVGVsOajmryVR9_BYMI,18534
10
+ analyser_hj3415-2.6.8.dist-info/entry_points.txt,sha256=ZfjPnJuH8SzvhE9vftIPMBIofsc65IAWYOhqOC_L5ck,65
11
+ analyser_hj3415-2.6.8.dist-info/LICENSE,sha256=QVKTp0dTnB5xG8RLgG17LwSWCKNEzYoVVM6KjoCPKc0,1079
12
+ analyser_hj3415-2.6.8.dist-info/WHEEL,sha256=Sgu64hAMa6g5FdzHxXv9Xdse9yxpGGMeagVtPMWpJQY,99
13
+ analyser_hj3415-2.6.8.dist-info/METADATA,sha256=cXfIcA1mrmJ2lLnnEG7xU8kBhS0G2E8H4LfiPy01r-g,6417
14
+ analyser_hj3415-2.6.8.dist-info/RECORD,,
@@ -1,14 +0,0 @@
1
- analyser_hj3415/.DS_Store,sha256=qr9-0FPn5CFKe6kEu8_dWCNhzQ0sN7bwQgffKsaJEEo,6148
2
- analyser_hj3415/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
- analyser_hj3415/cli.py,sha256=WORsQ4va2__sSMVlweUEq-rpTqvwsAiIGqFk8Xdaw8I,7354
4
- analyser_hj3415/myredis.py,sha256=PUFMgLUToNHcfBjO272B_hy0xh8FDNm3SfcKsUthlWs,9640
5
- analyser_hj3415/tools.py,sha256=m0zs-nFfpxuLaDh22EwsYJSgBirfSVmge8a6fvxRq60,13753
6
- analyser_hj3415/trash.py,sha256=zF-W0piqkGr66UP6-iybo9EXh2gO0RP6R1FnIpsGkl8,12262
7
- analyser_hj3415/analysers/eval.py,sha256=6RaKmoE4PGIIKjC5wfQwEXuUzOn7nYY9Dbh9i5v1xaU,12989
8
- analyser_hj3415/analysers/report.py,sha256=yY-AeDHOqDPrm4lpvZv3NPTJK1Z7lKsjoO5ck8AP6u4,9007
9
- analyser_hj3415/analysers/score.py,sha256=_TbU0Zgr14qT5tC-5o5Hphg94TJkZQo_p8AP10GDZQg,19772
10
- analyser_hj3415-2.6.5.dist-info/entry_points.txt,sha256=ZfjPnJuH8SzvhE9vftIPMBIofsc65IAWYOhqOC_L5ck,65
11
- analyser_hj3415-2.6.5.dist-info/LICENSE,sha256=QVKTp0dTnB5xG8RLgG17LwSWCKNEzYoVVM6KjoCPKc0,1079
12
- analyser_hj3415-2.6.5.dist-info/WHEEL,sha256=Sgu64hAMa6g5FdzHxXv9Xdse9yxpGGMeagVtPMWpJQY,99
13
- analyser_hj3415-2.6.5.dist-info/METADATA,sha256=LLjXKq60UmVax-HLkuM73uXFpymjCokNQGVu6bAVysA,6417
14
- analyser_hj3415-2.6.5.dist-info/RECORD,,