묻고 답해요
141만명의 커뮤니티!! 함께 토론해봐요.
인프런 TOP Writers
-
미해결모두를 위한 ChatGPT Part 3 - ChatGPT로 퀀트 투자 전략 만들기
kospi_plus_kosdaq_list = fdr.StockListing('KRX')
# 코스피 + 코스닥 + 코넥스 리스트 kospi_plus_kosdaq_list = fdr.StockListing('KRX') 실행시 수업시 보여지는 리스트의 숫자가 차이가 많습니다. 제가 실행한 것은 2784개입니다. 이유가 무엇인가요?
-
미해결금융데이터 분석을 위한 판다스 활용법
Table of Contents에 관해 질문이 있습니다.
안녕하세요 강사님. 위 사진과 같이 사이드 부분의 table of contents가 나오지 않는것과 # 판다스를 사용하는 방법이라고 쳤는데 숫자가 나오지 않는 두가지 문제가 발생했습니다..무엇이 문제일까요..?
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
2.1 라이브러리가 설치부터 에러가 발생하네요..
2.1 라이브러리 설치부터 설치가 안되니 황당하네요..
-
해결됨퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 2
수업자료 - 파이썬 파일 내용 누락됨 (Lecture7. dash_core_components_ Slider & RangeSlider)
대상 강의 : Lecture7. dash_core_components_ Slider & RangeSlider수업자료인 파이썬 파일Section3_Dash_dcc_RangeSlider.py을 다운받았는데 내용이 아래 코드가 전부이고 강의 내용 코드가 누락되어 있습니다. 확인 부탁 드립니다. # -*- coding: utf-8 -*- """ Section3_Dash_DCC_RangeSilder """ #%%
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
파일 설치시 오류 메세지
다음과 같은 오류메세지는 무슨 뜻인가요?학습을 진행하는데, 문제가 없는지 궁금합니다.
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
질문이 있습니다.
3:40초 쯤 해당 셀을 그대로 실행하면 tuple 대신 list를 쓰라는 에러가 발생합니다.뒷 부분 ['rtn', 'ROE(%)'] 부분을 [['rtn', 'ROE(%)']] 으로 수정해야 코드가 정상 작동이 됩니다. 질문1. 대괄호로 감싸고 있는 이 부분도 tuple이라고 부를 수 있나요? 질문2. 선생님과 다르게 실행이 안되는 이유가 버전 차이일까요? 이유가 궁금합니다. - 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! (스크린샷이 있으면 더더욱 좋습니다)- 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
-
해결됨파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
7.9 왜 재생이 안되죠? 다른건 다 되는데..
퀀트 1 강의 7.9가 재생이 안돼요. 2분까지 듣다가 갑자기 끊기더니 이젠 아예 연결이 안되네요. 다른 강의는 다 재생됩니다.
-
해결됨파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
append삭제
- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요! (스크린샷이 있으면 더더욱 좋습니다)- 먼저 유사한 질문이 있었는지 검색해보세요. - 서로 예의를 지키며 존중하는 문화를 만들어가요. - 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요. 안녕하세요 강사님!시간 날 때 마다 강사님 강의를 열심히 보면서 학습하고있는데현재 pandsas 2.0.3 으로 학습하는데 append라는 함수가 사라져서 질문을 드립니다!제가 구글링 했을 때는 concat으로 대체되었다는 말들이 많은데concat을 이용해서 합치려고 하면 어떻게 해야 할까요?pd.concat([names_df, {'Name':'명수', 'Age':100}], ignore_index=True )names_df.concat([names_df, {'Name':'명수', 'Age':100}, ignore_index=True )위의 두가지 방법으로는 해결이 되지 않아서 질문글 남깁니다!감사합니다!
-
미해결퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 2
파트3관련
안녕하세요! 좋은강의 너무 감사했어요! 파트3 계속 기다리는중인데 언제나오나요?? ㅠ
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
이틀째 설치에서 멈췄어요..제발도와주세요
선생님..ㅠㅠ 이틀째 혼자 해결해보려했지만 도저히 안되겠어서 질문드립니다..주피터랩에서 아래 명령어 실행시 아래 사진처럼 오류가뜹니다... 혹시나 해서 3.11 로 설치된 버전은 윈도우에서 에러뜬다고 해서 다운그레이드로 3.10.9도 했는데 소용이 없습니다 ㅠㅠ에러는 밑에 더 많습니다...!pip install pandas==0.25.3 error: subprocess-exited-with-error python setup.py bdist_wheel did not run successfully. exit code: 1 [930 lines of output] C:\Users\E\AppData\Local\Temp\pip-install-pae_e_5b\pandas_3f818e724d534a0eaa4782a616cf7235\setup.py:12: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html import pkg_resources C:\Users\E\anaconda3\Lib\site-packages\setuptools\__init__.py:80: _DeprecatedInstaller: setuptools.installer and fetch_build_eggs are deprecated. !! ******************************************************************************** Requirements should be satisfied by a PEP 517 installer. If you are using pip, you can try `pip install --use-pep517`. ******************************************************************************** !! dist.fetch_build_eggs(dist.setup_requires) running bdist_wheel running build running build_py creating build creating build\lib.win-amd64-cpython-311 creating build\lib.win-amd64-cpython-311\pandas copying pandas\conftest.py -> build\lib.win-amd64-cpython-311\pandas copying pandas\testing.py -> build\lib.win-amd64-cpython-311\pandas copying pandas\_typing.py -> build\lib.win-amd64-cpython-311\pandas copying pandas\_version.py -> build\lib.win-amd64-cpython-311\pandas copying pandas\__init__.py -> build\lib.win-amd64-cpython-311\pandas creating build\lib.win-amd64-cpython-311\pandas\api copying pandas\api\__init__.py -> build\lib.win-amd64-cpython-311\pandas\api creating build\lib.win-amd64-cpython-311\pandas\arrays copying pandas\arrays\__init__.py -> build\lib.win-amd64-cpython-311\pandas\arrays creating build\lib.win-amd64-cpython-311\pandas\compat copying pandas\compat\chainmap.py -> build\lib.win-amd64-cpython-311\pandas\compat copying pandas\compat\pickle_compat.py -> build\lib.win-amd64-cpython-311\pandas\compat copying pandas\compat\_optional.py -> build\lib.win-amd64-cpython-311\pandas\compat copying pandas\compat\__init__.py -> build\lib.win-amd64-cpython-311\pandas\compat creating build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\accessor.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\algorithms.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\api.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\apply.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\base.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\common.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\config_init.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\frame.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\generic.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\index.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\indexers.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\indexing.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\missing.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\nanops.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\resample.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\series.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\sorting.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\strings.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\window.py -> build\lib.win-amd64-cpython-311\pandas\core copying pandas\core\__init__.py -> build\lib.win-amd64-cpython-311\pandas\core creating build\lib.win-amd64-cpython-311\pandas\errors copying pandas\errors\__init__.py -> build\lib.win-amd64-cpython-311\pandas\errors creating build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\api.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\clipboards.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\common.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\date_converters.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\feather_format.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\gbq.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\gcs.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\html.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\packers.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\parquet.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\parsers.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\pickle.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\pytables.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\s3.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\spss.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\sql.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\stata.py -> build\lib.win-amd64-cpython-311\pandas\io copying pandas\io\__init__.py -> build\lib.win-amd64-cpython-311\pandas\io creating build\lib.win-amd64-cpython-311\pandas\plotting copying pandas\plotting\_core.py -> build\lib.win-amd64-cpython-311\pandas\plotting copying pandas\plotting\_misc.py -> build\lib.win-amd64-cpython-311\pandas\plotting copying pandas\plotting\__init__.py -> build\lib.win-amd64-cpython-311\pandas\plotting creating build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_algos.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_base.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_common.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_compat.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_downstream.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_errors.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_expressions.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_join.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_lib.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_multilevel.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_nanops.py -> build\lib.win-amd64-cpython-311\pandas\tests copying pandas\tests\test_optional_dependency.py -> build\lib.win-amd64-cpython-311\pandas\tests
-
해결됨파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part2
short index 관련 질문드립니다.
안녕하세요?좋은 강의 잘 듣고 있습니다.한가지 궁금한 게 있습니다. 선생님은 short index를 다음과 같이 정의하셨는데요,short_index = _df[ ((_df['position'] - df['position'].shift()) == -1) & (df['position'] == -1)].index 어차피 index 값이 -1,0,1 만 있으므로 아래의 short_index2 값과 short_index 값이 같은 걸 확인했습니다. (short_index.equals(short_index2)=>True) short_index2 = _df[ ((df['position'].shift()) == 0)& (df['position'] == -1))].index 혹시 빼기를 하신 특별한 이유가 있으신 걸까요?감사합니다.
-
미해결퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 2
안녕하세요..! SPyder에서 dash를 처음 실행 하는데
<IPython.lib.display.IFrame at 0x1aa072def10> 콘솔창에 이런 문구만 뜨고, 아이피주소가 뜨지 않네요 ㅠ 어떤 부분을 수정해야 하나요?!..
-
미해결비트코인 알고리즘 트레이딩 봇 개발
베이지안에서 질문있습니다.
pbounds = { 'revenue_rate' : (0.005,0.015), 'max_loss_rate' : (0.05,0.3), 'increase_rate' : (0.1,0.4), 'buy_cnt_limit' : (5,20), 'buy_amt_unit' : (10,20) } 여기서 buy_cnt_limit은 사실 정수가 나와야 하는데. 베이지안 최적화 후에 반올림하여 수정하는 방법밖에 없을까요?
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part2
CAGR, sharpratio 값이 다르게 나오는 이유?..추측?
선생님 안녕하세요! 제가 선생님 강의를 전부 너무 잘 수강하고 있습니다. 먼저 감사하다는 말씀을 드리고 싶어요! 강의 39분쯤 말씀하신, 저런 값들이 다른이유에대해 제가..감히 생각하는 바로는,선생님께서 제공해주신 종목들의 가격과, 제가 마켓와치에서 크롤링해서 가져온 종목들의 close 데이터 가격이 좀 다르더라구요! 그래서 그게 왜 다른지도 궁금하고, 혹시 그것이 원인이 아닐까 생각도 듭니다! 항상 좋은 강의감사드립니다.
-
미해결모두를 위한 ChatGPT Part 3 - ChatGPT로 퀀트 투자 전략 만들기
Colab 실습 - 올웨더 투자 전략 구성 및 백테스트 마지막 질문요
마지막 연도별 수익률 계산에서 만약 2022년 도 수익률을 보려면, 아래와 같이 코드를 변경해서 사용하면 안되나요?파이썬이 첨인지라,, 어떻게 변형해서 사용할지 이해를 잘 못했습니다,, # 연도별 수익률 계산 df_2022 = df.loc['2022-12-31'] / df.loc['2022-01-01'] - 1 df_2022.plot(figsize=(20,6), kind='bar'); plt.title('2022년 수익률');
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
강의자료
선생님이 사용하시는 강의자료 따로 다운 받을 수 있나요?
-
해결됨파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
2.6 reindex 관련 예제 질문
아래의 에러가 발생했을 때 어떻게 진행해야 할지 모르겠습니다.df1과 df2의 실행이 안됩니다.--------------------------------------------------------------------------- KeyError Traceback (most recent call last) File ~\anaconda3\Lib\site-packages\pandas\core\computation\scope.py:198, in Scope.resolve(self, key, is_local) 197 if self.has_resolvers: --> 198 return self.resolvers[key] 200 # if we're here that means that we have no locals and we also have 201 # no resolvers File ~\anaconda3\Lib\collections\__init__.py:1004, in ChainMap.__getitem__(self, key) 1003 pass -> 1004 return self.__missing__(key) File ~\anaconda3\Lib\collections\__init__.py:996, in ChainMap.__missing__(self, key) 995 def __missing__(self, key): --> 996 raise KeyError(key) KeyError: 'Timestamp' During handling of the above exception, another exception occurred: KeyError Traceback (most recent call last) File ~\anaconda3\Lib\site-packages\pandas\core\computation\scope.py:209, in Scope.resolve(self, key, is_local) 205 try: 206 # last ditch effort we look in temporaries 207 # these are created when parsing indexing expressions 208 # e.g., df[df > 0] --> 209 return self.temps[key] 210 except KeyError as err: KeyError: 'Timestamp' The above exception was the direct cause of the following exception: UndefinedVariableError Traceback (most recent call last) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:666, in BaseExprVisitor.visit_Call(self, node, side, **kwargs) 665 try: --> 666 res = self.visit(node.func) 667 except UndefinedVariableError: 668 # Check if this is a supported function name File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:549, in BaseExprVisitor.visit_Name(self, node, **kwargs) 548 def visit_Name(self, node, **kwargs): --> 549 return self.term_type(node.id, self.env, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\ops.py:85, in Term.__init__(self, name, env, side, encoding) 84 self.is_local = tname.startswith(LOCAL_TAG) or tname in DEFAULT_GLOBALS ---> 85 self._value = self._resolve_name() 86 self.encoding = encoding File ~\anaconda3\Lib\site-packages\pandas\core\computation\ops.py:109, in Term._resolve_name(self) 107 is_local = False --> 109 res = self.env.resolve(local_name, is_local=is_local) 110 self.update(res) File ~\anaconda3\Lib\site-packages\pandas\core\computation\scope.py:211, in Scope.resolve(self, key, is_local) 210 except KeyError as err: --> 211 raise UndefinedVariableError(key, is_local) from err UndefinedVariableError: name 'Timestamp' is not defined During handling of the above exception, another exception occurred: ValueError Traceback (most recent call last) Cell In[2], line 2 1 # 삼성전자 ----> 2 df1 = fdr.DataReader("005930", '2018-01-02', '2018-10-30') 4 # KODEX 200 (ETF) 5 df2 = fdr.DataReader("069500", '2018-01-03', '2018-10-30') File ~\anaconda3\Lib\site-packages\FinanceDataReader\data.py:19, in DataReader(symbol, start, end, exchange, kind) 16 start, end = _validate_dates(start, end) 17 if (symbol.isdigit() and len(symbol)==6 and exchange==None) or \ 18 (symbol.isdigit() and exchange and exchange.upper() in ['KRX', '한국거래소']): ---> 19 return NaverDailyReader(symbol, start, end, exchange, kind).read() 21 if (symbol.isdigit() and exchange and exchange.upper() in ['KRX-DELISTING']): 22 return KrxDelistingReader(symbol, start, end, exchange, kind).read() File ~\anaconda3\Lib\site-packages\FinanceDataReader\naver\data.py:29, in NaverDailyReader.read(self) 26 df.sort_index(inplace=True) 27 df['Change'] = df['Close'].pct_change() ---> 29 return df.query('index>=%r and index<=%r' % (self.start, self.end)) File ~\anaconda3\Lib\site-packages\pandas\util\_decorators.py:331, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs) 325 if len(args) > num_allow_args: 326 warnings.warn( 327 msg.format(arguments=_format_argument_list(allow_args)), 328 FutureWarning, 329 stacklevel=find_stack_level(), 330 ) --> 331 return func(*args, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\frame.py:4474, in DataFrame.query(self, expr, inplace, **kwargs) 4472 kwargs["level"] = kwargs.pop("level", 0) + 2 4473 kwargs["target"] = None -> 4474 res = self.eval(expr, **kwargs) 4476 try: 4477 result = self.loc[res] File ~\anaconda3\Lib\site-packages\pandas\util\_decorators.py:331, in deprecate_nonkeyword_arguments.<locals>.decorate.<locals>.wrapper(*args, **kwargs) 325 if len(args) > num_allow_args: 326 warnings.warn( 327 msg.format(arguments=_format_argument_list(allow_args)), 328 FutureWarning, 329 stacklevel=find_stack_level(), 330 ) --> 331 return func(*args, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\frame.py:4612, in DataFrame.eval(self, expr, inplace, **kwargs) 4609 kwargs["target"] = self 4610 kwargs["resolvers"] = tuple(kwargs.get("resolvers", ())) + resolvers -> 4612 return _eval(expr, inplace=inplace, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\eval.py:353, in eval(expr, parser, engine, truediv, local_dict, global_dict, resolvers, level, target, inplace) 344 # get our (possibly passed-in) scope 345 env = ensure_scope( 346 level + 1, 347 global_dict=global_dict, (...) 350 target=target, 351 ) --> 353 parsed_expr = Expr(expr, engine=engine, parser=parser, env=env) 355 # construct the engine and evaluate the parsed expression 356 eng = ENGINES[engine] File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:813, in Expr.__init__(self, expr, engine, parser, env, level) 811 self.parser = parser 812 self._visitor = PARSERS[parser](self.env, self.engine, self.parser) --> 813 self.terms = self.parse() File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:832, in Expr.parse(self) 828 def parse(self): 829 """ 830 Parse an expression. 831 """ --> 832 return self._visitor.visit(self.expr) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:421, in BaseExprVisitor.visit_Module(self, node, **kwargs) 419 raise SyntaxError("only a single expression is allowed") 420 expr = node.body[0] --> 421 return self.visit(expr, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:424, in BaseExprVisitor.visit_Expr(self, node, **kwargs) 423 def visit_Expr(self, node, **kwargs): --> 424 return self.visit(node.value, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:750, in BaseExprVisitor.visit_BoolOp(self, node, **kwargs) 747 return self._maybe_evaluate_binop(op, node.op, lhs, rhs) 749 operands = node.values --> 750 return reduce(visitor, operands) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:743, in BaseExprVisitor.visit_BoolOp.<locals>.visitor(x, y) 742 def visitor(x, y): --> 743 lhs = self._try_visit_binop(x) 744 rhs = self._try_visit_binop(y) 746 op, op_class, lhs, rhs = self._maybe_transform_eq_ne(node, lhs, rhs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:739, in BaseExprVisitor._try_visit_binop(self, bop) 737 if isinstance(bop, (Op, Term)): 738 return bop --> 739 return self.visit(bop) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:723, in BaseExprVisitor.visit_Compare(self, node, **kwargs) 721 op = self.translate_In(ops[0]) 722 binop = ast.BinOp(op=op, left=node.left, right=comps[0]) --> 723 return self.visit(binop) 725 # recursive case: we have a chained comparison, a CMP b CMP c, etc. 726 left = node.left File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:536, in BaseExprVisitor.visit_BinOp(self, node, **kwargs) 535 def visit_BinOp(self, node, **kwargs): --> 536 op, op_class, left, right = self._maybe_transform_eq_ne(node) 537 left, right = self._maybe_downcast_constants(left, right) 538 return self._maybe_evaluate_binop(op, op_class, left, right) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:458, in BaseExprVisitor._maybe_transform_eq_ne(self, node, left, right) 456 left = self.visit(node.left, side="left") 457 if right is None: --> 458 right = self.visit(node.right, side="right") 459 op, op_class, left, right = self._rewrite_membership_op(node, left, right) 460 return op, op_class, left, right File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:415, in BaseExprVisitor.visit(self, node, **kwargs) 413 method = "visit_" + type(node).__name__ 414 visitor = getattr(self, method) --> 415 return visitor(node, **kwargs) File ~\anaconda3\Lib\site-packages\pandas\core\computation\expr.py:670, in BaseExprVisitor.visit_Call(self, node, side, **kwargs) 667 except UndefinedVariableError: 668 # Check if this is a supported function name 669 try: --> 670 res = FuncNode(node.func.id) 671 except ValueError: 672 # Raise original error 673 raise File ~\anaconda3\Lib\site-packages\pandas\core\computation\ops.py:614, in FuncNode.__init__(self, name) 612 def __init__(self, name: str) -> None: 613 if name not in MATHOPS: --> 614 raise ValueError(f'"{name}" is not a supported function') 615 self.name = name 616 self.func = getattr(np, name) ValueError: "Timestamp" is not a supported function
-
미해결퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 1
nbextension 없이는 안되나요?
구글링 해보니 stackoverflow에 4일전에 정확히 동일한 질문이 올라왔는데 답이 없는 상태인걸로 봐서 jupyter notebook 최신버전에서 생기는 문제 같기도 합니다.정보가 없어 해결이 어렵네요.https://stackoverflow.com/questions/76893872/modulenotfounderror-no-module-named-notebook-base-when-installing-nbextension
-
미해결퀀트 투자를 위한 파이썬 트레이딩룸 만들기 - Part 2
pt3은 언제쯤 나올까요?
정말 흥미롭게 Pt1부터 잘 수강하고 있습니다.파트3에 대한 계획은 있으신 것 같은데 언제쯤일지 궁금합니다!
-
미해결파이썬(Python)으로 데이터 기반 주식 퀀트 투자하기 Part1
my_data
my_data 자료를 최신 자료 기준으로 실습 할 수 있도록 2020,2021,2022년도 분도 올려주시면 좋겠습니다.