Category

Kiwoom

AWS를 활용한 LSTM 모델 예측 시스템 구축

5 minute read

지난 포스팅에서는 시황 분석 모델을 훈련시켰고, 해당 모델을 키움 OpenAPI를 이용하여 만들었던 프로그램에 적용한다. 여기서 한 가지 문제를 직면하게 되는데, 모델을 훈련시켰던 환경은 64비트의 ubuntu 환경이고 키움 OpenAPI는 32비트의 환경에서만 돌아...

[키움 자동매매 프로그램] - 조건식 자동매매 페이지(Kiwoom_Stock.py)

4 minute read

전체 흐름의 마지막인 조건식을 이용한 자동매매 구현만이 남았다. 이전 자동매매에서는 사용자가 직접 종목을 선정하여 그 종목에 대해 익절, 손절 분기점을 설정하여 자동매매를 진행하였으나 이번에는 키움에서 제공하는 조건식들을 이용하여 자동으로 종목을 선정하고 해당 종목을...

[키움 자동매매 프로그램] - 시황 분석(News_all.py 및 Qthread_4.py) 구현

3 minute read

메인 윈도우가 되는 pytrader.py에서 현재까지 계좌 정보, 계좌 관리, 자동매매를 구현했다. 이제는 각기 다른 윈도우로 이동하여 시황 분석, 세분화된 자동매매 페이지, 조건식 자동매매 페이지를 구현한다. 먼저 구현할 것은 시황 분석이다. 주식 시장의 중심이 ...

[키움 자동매매 프로그램] - 기본 클래스 선언 및 UI 제작

1 minute read

1. Kiwoom 클래스 정의 (자동매매를 위한 프로그램의 기본 클래스) 키움 자동매매를 위해 필요한 기본 클래스를 선언한다. self.kiwoom은 OpenAPI의 ActiveX 컨트롤을 불러와 API와 직접 통신할 수 있도록 하는 변수를 지정한다. 그 외...

[키움 자동매매 프로그램] 32bit 가상환경 설정

1 minute read

명령어 입력 키움 OpenAPI를 사용하기 위해선 우리가 현재 사용하고 있는 64bit 환경이 아닌 32bit 환경이 필요하다. anaconda와 키움 OpenAPI가 설치되었다면 32bit의 가상환경을 구성한다. 물론 자신의 컴퓨터가 원래 32bit 환경이...

Back to Top ↑

AI

시황 분석 LSTM 모델 훈련

7 minute read

이전 Kiwoom 자동 매매 프로그램 구현 포스팅들 중 시황분석 페이지에서 투자 점수 부분을 구현하지 않고 남겨두었다. 해당 부분을 LSTM 모델로 간단하게 오늘 투자 위험 여부를 판단하는 모델을 훈련시켜 적용하도록 구현한다. 데이터 전처리 데이터셋은 Investi...

프롬프트 엔지니어링 - 5. Role 및 Style 프롬프트

5 minute read

5. Role and Style Prompting 이번 포스팅에서는 프롬프트 디자인을 위한 두 가지 효과적인 기법을 살펴본다. Role 프롬프트 그리고 Style 프롬프트, 두 기법 모두 Solar 모델에 적합하다. 5.1 모델에 역할 할당...

프롬프트 엔지니어링 - 2. 직접적이고 명확한 프롬프트

4 minute read

2. Direct and Clear Prompts Solar 모델은 직접적이고 명확한(Direact and Clear) 프롬프트를 사용할 때 가장 좋은 결과를 제공한다. 대규모 언어 모델로 작업 시, 프롬프트의 문구 표현 방식이 수신되는 응답의 품질에 큰 영향...

프롬프트 엔지니어링 - 1. 기본 프롬프트 구조

2 minute read

1. Basic Prompt Structure Upstage에서 개발한 Solar 모델을 프롬프트 엔지니어링하는 기본적인 틀 및 심화 과정에 대해 요약한다. 프롬프트 엔지니어링은 해당 모델 뿐만 아니라 다른 LLM에서 사용될 수 있다. 해당 요약글은 다음의 ...

머신러닝 모델을 이용하여 웹 앱 만들기

4 minute read

간단한 데이터 정제 및 전처리 넘파이와 판다스 라이브러리를 불러오고, ufo 데이터셋을 불러온다. 처음 다운로드 된 데이터셋은 빈 칸에 null 값이 설정되어 있지 않다. 따라서 파일을 직접 수정하여 빈 칸을 null 값으로 대체하였다. import numpy a...

Logistic Regression Classifier - weatherAUC

38 minute read

로지스틱 회귀 소개 로지스틱 회귀(Logistic Regression) (또는 Logit Regression)는 데이터 과학의 새로운 이진 분류 문제를 해결할 때, 생각할 수 있는 대표적인 알고리즘이다. 로지스틱 회귀는 이산적인 값을 가지는 클래스를 예측할 때...

Kaggle - Titanic 생존 모델 예측

18 minute read

import numpy as np import pandas as pd import random as rd import matplotlib.pyplot as plt import seaborn as sns # 머신러닝에 필요한 csv 파일 다운로드 train_set =...

Back to Top ↑

Bootcamp

[AI 부트캠프] PyTorch - Implement Deep Learning Models

14 minute read

◆ Pytorch - DNN 구현 (25.06.18 위키라이더) Pytorch 강의의 Implement Deep Learning Models 챕터의 DNN 구현과 CNN, RNN 구현을 정리 딥러닝에서의 Pytorch 딥러닝을 구현하기 위한 대표적인 라...

[AI 부트캠프] ML 경진대회 - 아파트 실거래가 예측

4 minute read

1. 경진대회 개요 5월이 시작되고, 서울의 아파트 실거래가를 예측하는 경진대회가 시작되었다. 첫 회의 때 서로가 알고있던 도메인을 공유하여 주어진 데이터 내에서 feature들의 중요도를 파악하고, 추가적으로 어떤 데이터를 추가하여 모델의 성능을 향상시킬 수 있...

[AI 부트캠프] Git을 이용한 프로젝트 관리

5 minute read

이틀에 걸쳐 Git을 이용하여 Github 저장소를 관리하고 팀 협업의 전체적인 흐름을 배웠다. 이전 프로젝트를 진행할 때는 Github Desktop을 이용하여 GUI로 간편하게 작업했었는데, git을 이용하여 작업하는 방법도 배웠다. 기본적인 명령어(Ex: add...

[AI 부트캠프] 컴퓨터 공학 개론

7 minute read

이번 챕터느 어느 대학을 가던지 컴퓨터공학과라면 배우는 내용들을 5일에 걸쳐 실시간으로 진행되었다. 크게 보면 자료구조, 알고리즘, 컴퓨터구조, 운영체제, 데이터베이스 5과목이다. 사실 해당 내용은 2학년 ~ 3학년에 걸쳐 배웠던 내용이었는데 5일이라는 짧은 시간...

[AI 부트캠프] 프로젝트 수행을 위한 이론 - Statics

7 minute read

기초적인 파이썬 문법, 라이브러리 강의가 끝나고 리서처로 활동하시는 강사분의 AI에 필요한 수학 이론 강의가 있었다. 확률과 통계, 미분(그레디언트) 등 여러가지가 필요했고, 고등학생 및 대학생 시절 배우지 않았던 부분도 존재하여 한편으로는 쉽기도 하고 헷갈리는 부...

[AI 부트캠프] 프로젝트 수행을 위한 이론 Python - 기초

1 minute read

부트캠프가 시작되고 첫 한 주를 보냈다. 실시간으로 강사님이 알려주시는 강의와 녹화된 영상을 수강하는 방식의 온라인 강의가 존재했다. 파이썬 기초 문법, 라이브러리 등에 대해 강의가 진행되었는데 전체 강의 중 나에게 유용했던 부분을 기록에 남기고자 한다. 1. ...

[AI 부트캠프] Upstage 현직자 특강 후기

2 minute read

1. 현직자 특강 두 번째날 Upstage 현업자이신 김남혁 강사님의 특강으로 시작했다. 내가 목표로 하고 있는 기업에서 실제 현직자로 근무하고 계신 강사님의 특강이라 매우 기대했고, 어떻게 입사하게 되었는지 매우 궁금하기도 하였다. 1.1 약력 ...

[AI 부트캠프] 패스트캠퍼스 AI 부트캠프 13기 OT 후기

3 minute read

해당 과정은 2025년 3월 24일 ~ 2025년 10월 31일 약 7개월 간 진행되며, [패스트캠퍼스] AI 부트캠프 13기 과정입니다. 0. 부트캠프 수강 이유 먼저 AI 분야에서 취업을 준비하며 깨닫게되는 점이 있다. AI 분야에서 석...

Back to Top ↑

Coding_Test

[프로그래머스] 비밀 코드 해독

less than 1 minute read

1. 생각의 흐름 문제 조건에서 n값이 생각보다 작았다. (30 이하) 이는 완전 탐색을 해도 시간이 모자라지 않을 수도 있다는 점을 시사한다. 그래서 조합을 사용했다. 모든 경우의 수를 전부 나열한 다음 조건에 맞는 조합을 골라 갯수를 센다. 1...

[프로그래머스] 올바른 괄호

1 minute read

1. 생각의 흐름 자료구조를 공부할 때 맨 처음 접할 수 있는 문제 유형이다. 구현 방식은 stack으로 구현하였으며, 문제에서는 ‘()‘만 나온다고 하였지만, 일반적인 상황에서는 수식 or 텍스트와 같이 사용되므로, 모든 상황에서 괄호가 정상적으로 사용되었는지 체크...

[프로그래머스] 유사 칸토어 비트열

1 minute read

1. 생각의 흐름 문제의 조건을 확인해보면 다음과 같다. [1 ≤ n ≤ 20] [1 ≤ l, r ≤ 5^n] [l ≤ r < l + 10,000,000] 이는 유사 칸토어 비트열로 변환하고 구간 내 1의 갯수를 센다는 것은 불가능함을 보여준다. n이 2...

[프로그래머스] 다음 큰 숫자

less than 1 minute read

1. 생각의 흐름 문제가 쉬웠다. 주어진 n값을을 2진수로 변환하고, 1의 갯수를 센다. n += 1 을 해주며 1의 과정과 똑같은 과정을 반복, n과 1의 갯수가 같은지 비교 같다면 반복문을 멈추고 return ...

[프로그래머스] 점프와 순간이동

less than 1 minute read

1. 생각의 흐름 처음 문제를 봤을 때 탐욕 알고리즘을 사용해야하나 싶었다. 맨 처음 한 칸은 무조건 JUMP로 가고, 목표보다 작은 최대값을 가질 때까지 TP하고 나머지는 JUMP하면 되려나? 라고 생각했다. 그런데 뭔가 좀 이상했다. 간단하게 생각해봐도 이는 최...

[프로그래머스] k진수에서 소수 개수 구하기

1 minute read

1. 생각의 흐름 그냥 문제 설명을 보고 그대로 코드를 구현했다. 먼저 작업해 준 것은 k진수 변환 함수와 소수를 검사하는 함수 두 개를 구현했다. # 10진수 → k진수 변환 함수 def convert_k(n, k) : k_number = '' ...

[프로그래머스] 봉인된 주문

1 minute read

1. 10진법 → 26진법 / 26진법 → 10진법 변환 문제를 접했을 때 영어 알파벳은 26개이므로 26진법을 활용해야겠구나 생각했다. 일단 먼저 주어진 문자를 수로 표현하는 코드를 구현하였다. 26진법을 이용하여 주어진 문자가 몇 번째 숫자인지를 계산한다. d...

[프로그래머스] 홀짝트리

2 minute read

1. 홀짝 트리, 역홀짝 트리 판별 문제의 제한사항 - **nodes**의 최대 길이는 400,000 - **edges**의 최대 길이는 1,000,000 이 두 조건을 보고 내린 결론은 모든 노드를 루트 노드로 가능한 모든 트리를 판별하려고 하면 불가능...

Back to Top ↑

정보보안

Stack Link & Dynamic Link

2 minute read

링크 많은 프로그래밍 언어에서 컴파일의 마지막 단계로, 프로그램에서 어떤 라이브러리의 함수를 사용한다면, 호출된 함수와 실제 라이브러리의 함수가 링크 과정에서 연결된다. 리눅스에서 C언어로 작성된 코드는 전처리, 컴파일, 어셈블의 과정을 거쳐 ELF 형식을 갖춘 오...

NX & ASLR

3 minute read

지난 과거에서부터 공격 및 보호 기법의 발전 양상을 보면 알 수 있듯이, 어떤 보호 기법이 등장하면 이를 우회하는 새로운 공격 기법이 등장하고, 이러한 공격 기법을 막기 위해 다시 새로운, 더 좋은 보호 기법이 등장하였다. 어느 공격 기법이 등장할 지는 예측이 불가...

Wargame : ssp_001

2 minute read

C 코드 분석 #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> void alarm_handler() { puts("...

Stack Buffer Overflow & Stack Canary

4 minute read

스택 버퍼 오버플로우 스택 버퍼 오버플로우란 스택의 버퍼에서 발생하는 오버플로우이다. 스택 버퍼 오버플로우를 이해하기 전 버퍼와 오버플로우가 무엇인지 먼저 알아야한다. 버퍼 데이터가 목적지로 이동되기 전 보관되는 임시 저장소이다. 만약, 데이터 처리속도가 다른 ...

Wargame : shell_basic

1 minute read

C 코드 분석 #include <fcntl.h> #include <seccomp.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #includ...

Wargame : basic_exploitation_001

1 minute read

C 코드 분석 #include <stdio.h> #include <stdlib.h> #include <signal.h> #include <unistd.h> void alarm_handler() { pu...

Pwntools 설치 및 GCC 설치

2 minute read

pwntools는 파이썬으로 익스플로잇을 수행할 수 있도록 도와주는 라이브러리이다. 일반적으로, 어떤 대상의 컴퓨터를 어택할 때에는 어셈블리어를 이용하여 익스플로잇을 수행한다. 하지만 어셈블리어는 기계와 친화적인 언어로, 인간이 이해하기에는 다소 난해한 부분이 존재한...

Back to Top ↑

Thesis

Attention is all you need

5 minute read

Abstract 대표적인 sequence transduction(EX 문장 번역 등) 모델은 인코더와 디코더를 포함하는 RNN or CNN으로 구성 가장 뛰어난 성능을 보이는 모델은 attention mechanism을 통해 인코더와 디코더를 연결 기존에 존재...

Building Ethics into Artificial Intelligence

9 minute read

연구의 필요성 및 목적 AI 시스템이 일상생활에 보편화 되면서 AI 거버넌스, 즉 AI를 이용한 국정운영에 사람들의 관심이 증가하면서 AI의 윤리적 의사 결정에 대한 관심도 증가하고 있다. 하지만, 이는 AI 연구자들 사이에서는 아직 익숙치 않은 주제인데, 이는 기존...

Back to Top ↑