'Developments > MongoDB' 카테고리의 다른 글
GridFS를 이용한 대용량 도큐먼트 처리 (0) | 2018.03.09 |
---|---|
몽고DB 설치 on Ubuntu (0) | 2016.10.31 |
몽고DB 스키마 디자인 (0) | 2016.08.05 |
몽고DB 관리툴 (0) | 2016.07.30 |
몽고DB의 용어와 문법적 차이 (0) | 2016.07.29 |
GridFS를 이용한 대용량 도큐먼트 처리 (0) | 2018.03.09 |
---|---|
몽고DB 설치 on Ubuntu (0) | 2016.10.31 |
몽고DB 스키마 디자인 (0) | 2016.08.05 |
몽고DB 관리툴 (0) | 2016.07.30 |
몽고DB의 용어와 문법적 차이 (0) | 2016.07.29 |
몽고DB 설치 on Ubuntu (0) | 2016.10.31 |
---|---|
pymongo 도움말 (0) | 2016.08.07 |
몽고DB 관리툴 (0) | 2016.07.30 |
몽고DB의 용어와 문법적 차이 (0) | 2016.07.29 |
몽고DB 명령어 (0) | 2016.07.29 |
1. Robomongo [바로가기]
DB 쉘 프로그램이다.
윈도우즈, OSX, 리눅스를 지원한다.
UI가 깔끔하다.
오픈소스이면서 무료이다.
툴로 사용하기에 매우 쾌적하다.
2. MongoClient [바로가기]
DB서버 모니터링을 지원(차트로 표시) 한다.
간편하게 데이터를 추가 할 수 있다.
윈도우즈, OSX, 리눅스를 지원한다.
UI가 이쁘다.
오픈소스이면서 무료이다.
프로그램 구동시 조금 느린 감이 있다.
참조: https://docs.mongodb.com/ecosystem/tools/administration-interfaces/
pymongo 도움말 (0) | 2016.08.07 |
---|---|
몽고DB 스키마 디자인 (0) | 2016.08.05 |
몽고DB의 용어와 문법적 차이 (0) | 2016.07.29 |
몽고DB 명령어 (0) | 2016.07.29 |
몽고DB 윈도우에 설치 (0) | 2016.07.28 |
We recommend using pip to install pymongo on all platforms:
To get a specific version of pymongo:
To upgrade using pip:
* 윈도우즈에 인스톨 할 때에는 cmd.exe (명령프롬프트)를 관리자권한으로 실행해야 한다.
아나콘다 업데이트 방법 (0) | 2016.10.06 |
---|---|
파이썬 클래스에서 private 변수 및 함수 사용하기 (0) | 2016.08.12 |
Protocol Buffer를 Json으로 변환 (0) | 2016.08.11 |
30분 만에 파이썬 문법 익히기 (0) | 2016.07.28 |
파이썬 설치 (0) | 2016.07.28 |
발췌: https://docs.mongodb.com/manual/reference/sql-comparison/
* 용어의 차이
RDBMS | MongoDB |
TABLE | COLLECTION |
ROW | BSON DOCUMENT |
COLUMN | FIELD |
INDEX | INDEX |
PRIMARY KEY | OBJECT_ID FILED |
TABLE JOINS (RELATIONSHIP) | EMBEDDED, LINKING |
* 쿼리 명령어 차이
SQL |
MongoDB |
CREATE TALE test (a int, b int) |
db.createCollection("test") |
INSERT INTO test VALUES (3,5) |
db.table.insert({name:3, age:5}) |
SELECT name, age FROM test |
db.table.find({}, {name:1, age:1}) |
SELECT * FROM test |
db.table.find() |
SELECT * FROM testWHERE age=34 |
db.table.find({age:34}) |
SELECT a,b FROM testWHERE age=34 |
db.table.find({age:34}, {a:1,b:1}) |
SELECT * FROM test WHERE age=34 ORDER BY name |
db.table.find({age:34}).sort({name:1}) |
SELECT * FROM test WHERE age>34 |
db.table.find({'age':{$gt:34}}) |
SELECT * FROM test WHERE age<34 |
db.table.find({'age':{$lt:34}}) |
SELECT * FROM test WHERE name LIKE"%Joe%" |
db.table.find({name:/Joe/}) |
SELECT * FROM test WHERE name LIKE "Joe%" |
db.table.find({name:/^Joe/}) |
SELECT * FROM test WHERE age>34 AND age<=40 |
db.table.find({'age':{$gt:34,$lte:40}}) |
SELECT * FROM test ORDER BY name DESC |
db.table.find().sort({name:-1}) |
SELECT * FROM test WHERE a=1 and b='q' |
db.table.find({a:1,b:'q'}) |
SELECT * FROM test LIMIT 10 SKIP 20 |
db.table.find().limit(10).skip(20) |
SELECT * FROM test WHERE a=1 or b=2 |
db.table.find( { $or : [ { a : 1 } , { b : 2 } ] } ) |
SELECT * FROM test LIMIT 1 |
db.table.findOne() |
SELECT DISTINCT last_name FROM test |
db.table.distinct('last_name') |
SELECT COUNT(*y) FROM test |
db.table.count() |
SELEC COUNT(*y) FROM test where AGE > 30 |
db.table.find({age: {'$gt': 30}}).count() |
SELECT COUNT(AGE) from test |
db.table.find({age: {'$exists':true}}).count() |
CREATE INDEX myindexname ON test (name) |
db.table.ensureIndex({name:1}) |
CREATE INDEX myindexname ON test(name,ts DESC) |
db.table.ensureIndex({name:1,ts:-1}) |
EXPLAIN SELECT * FROM users WHERE z=3 |
db.table.find({z:3}).explain() |
UPDATE users SET a=1 WHERE b='q' |
db.table.update({b:'q'}, {$set:{a:1}},false,true) |
UPDATE users SET a=a+2 WHERE b='q' |
db.table.update({b:'q'}, {$inc:{a:2}},false,true) |
DELETE FROM users WHERE z="abc" |
db.table.remove({z:'ab'}); |
SQL SELECT 쿼리에 대하여 궁금하다면? [바로가기]
RDBMS Scheme를 몽고DB Data modeling으로 변경 [바로가기]
pymongo 도움말 (0) | 2016.08.07 |
---|---|
몽고DB 스키마 디자인 (0) | 2016.08.05 |
몽고DB 관리툴 (0) | 2016.07.30 |
몽고DB 명령어 (0) | 2016.07.29 |
몽고DB 윈도우에 설치 (0) | 2016.07.28 |
◎ 데이터베이스가 생성될 물리적 경로생성
mkdir c:\MONGODB\test
◎ mongoDB 버전 확인
mongod --version
◎ mongoDB 인스턴스 활성화
mongod --dbpath c:\mongodb\test
-- mogodb shell프로그램 실행
mongo
◎ test 데이터베이스로 이동할때
>use test
◎ 데이터베이스 목록 출력
>show dbs
◎ 데이터베이스 상태확인
>db.stats()
◎ 데이터베이스 shutdown
admin 영억으로 이동후에 셧다운 해야함.
>use admin
>db.shutdownServer()
◎ 데이터베이스 삭제
>use 데이터베이스명
>db.dropDatabase()
◎ 데이터베이스 로그아웃
>db.logout()
◎collection 생성
capped:true이면 해당 익스텐트를 모두 사용하게되면
처음부터 재 사용할 수 있는 데이터 구조를 생성할 때
size 해당 Collection의 최초 생성크기
>db.createCollection("emp",{capped:false, size:8192});
◎ colection list보기
show collections
◎ collection의 현재상태 및 정보분석
>db.emp.validate();
◎ collection의 이름변경
>db.emp.renameCollection("employee")
◎ Collection의 삭제
>db.employee.drop();
◎ collection에 데이터 INSERT
>db.emp.insert({eno:1101,fname:"JIMMY"});
◎ collection에 데이터 UPDATE
>db.emp.update({eno:1101},{$set:{fname:"JOO"}});
◎ collection에 데이터 SELECT
>db.emp.find().sort({eno:-1});
◎ 도큐먼트(row)부터 정의하고 collection 생성
>m={ename : "smith"}
>n={ename : 1101}
>db.things.save(m)
>db.things.save(n)
>db.things.find()
>db.things.insert({ empno : 1102, ename:"king"})
◎ for문을 이용한 증감된 값을 Collection에 insert
>for(var n=1103; n<=1120; n++) db.things.save({n:n, m:"test"+n})
◎ db.things.find()로 조회시 리스트가 20 row가 넘는 경우 다음 페이지를 보고싶을때
>it
예제
MongoDB는 자바스크립트 엔진을 사용
>typeof({}); //object
>typeof(1); //number
>typeof(true); // boolean
>typeof([]); // object
Document만들기
>student1={ name:"A", age=10 };
>student2={ name:"B", age=15 };
Collection만들기
>db.students.save(student1);
>db.students.save(student2);
Query
>db.students.find();
Query with parameter
>db.students.find( { name : "A" } );
Query with modifier
>db.students.find( { age : { '$gt' : 11 } } );
원하는 열 검색(name열만 보기)
>db.students.find( {}, { name : true} );
원하는 열에 조건 주기(age가 10인 name열만 보기)
>db.students.find( { age : "10", } { name : true } );
전체 Update
>db.students.update( { name : "A" , { name : "A", age : 1 } } );
Update
> db.students.update( { name : "A", { "$set" : { age : 11 } } );
삭제
>db.students.remove( { name : "A" } );
pymongo 도움말 (0) | 2016.08.07 |
---|---|
몽고DB 스키마 디자인 (0) | 2016.08.05 |
몽고DB 관리툴 (0) | 2016.07.30 |
몽고DB의 용어와 문법적 차이 (0) | 2016.07.29 |
몽고DB 윈도우에 설치 (0) | 2016.07.28 |
발췌: https://learnxinyminutes.com/docs/python/
|
아나콘다 업데이트 방법 (0) | 2016.10.06 |
---|---|
파이썬 클래스에서 private 변수 및 함수 사용하기 (0) | 2016.08.12 |
Protocol Buffer를 Json으로 변환 (0) | 2016.08.11 |
pymongo 설치 (0) | 2016.07.29 |
파이썬 설치 (0) | 2016.07.28 |
* 몽고DB란
몽고DB는 스키마 없이 JSON형태로 정보를 저장하는 데이타베이스이다.
보다 많은 정보 [바로가기]
* 설치 방법
* 다른 DB PATH를 원할 경우
등록
$ mongod.exe --install --serviceName MongoDB --serviceDisplayName MongoDB --serviceDescription "MongoDB Service" --serviceUser MongoDBAdmin --servicePassword 비밀번호 --dbpath D:\MongDB\data\db --port 27017 --logpath D:\MongDB\log\mongoDB.log |
$ mongod --remove --serviceName MongoDB |
참고: https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/
pymongo 도움말 (0) | 2016.08.07 |
---|---|
몽고DB 스키마 디자인 (0) | 2016.08.05 |
몽고DB 관리툴 (0) | 2016.07.30 |
몽고DB의 용어와 문법적 차이 (0) | 2016.07.29 |
몽고DB 명령어 (0) | 2016.07.29 |
* 파이썬 설치
파이썬 설치 방법은 두가지로 구분됨
배포판 이름 | 주소 |
---|---|
Anaconda | https://store.continuum.io/cshop/anaconda/ |
Python(x,y) | https://code.google.com/p/pythonxy/ |
Enghought Canopy | https://www.enthought.com/products/epd/ |
WinPython | http://winpython.github.io/ |
필요한 라이브러리들을 따로 설치하기 번거로우므로 Anaconda 배포판을 설치한다.
https://www.continuum.io/downloads
※ 국내 증권사에서 제공하는 API를 정상적으로 이용하려면 반드시 32bit용으로 설치해야 한다.
* 파이썬 IDE 설치
파이썬 프로젝트 관리와 디버깅을 위한 IDE를 설치한다.
유명한 IDE들은 다음과 같다.
IDE 이름 | 주소 |
---|---|
PyCharm | https://www.jetbrains.com/pycharm/download |
Python Tools Visual Studio | http://microsoft.github.io/PTVS/ |
PyDev for Eclipse | http://www.pydev.org/ |
별도의 툴 설치가 필요없는 PyCharm을 설치한다.
(무료와 유료버전이 있는데 무료버전 만으로도 충분하다.)
아나콘다 업데이트 방법 (0) | 2016.10.06 |
---|---|
파이썬 클래스에서 private 변수 및 함수 사용하기 (0) | 2016.08.12 |
Protocol Buffer를 Json으로 변환 (0) | 2016.08.11 |
pymongo 설치 (0) | 2016.07.29 |
30분 만에 파이썬 문법 익히기 (0) | 2016.07.28 |
시가총액이 큰 종목일 수록 공매도의 분석이 중요해 진다.
대차/공매도 거래내역은 아래 사이트에서 확인 할 수 있다.
주식>주식대차거래내역>대차거래추이>종목선택>조회
중요 이평선별 시간 계산표 (0) | 2021.02.08 |
---|---|
코스피 상장폐지 요건 요약 (0) | 2020.05.29 |
코스피, 코스닥 및 기타 상품 규정 (0) | 2016.08.09 |
공시 정보 얻기 (0) | 2016.07.28 |
* 머신러닝 라이브러리 정리
https://github.com/josephmisiti/awesome-machine-learning#c-general-purpose
용도와 성향에 맞추어 사용하도록 한다.
머신러닝 준비 4/4: TensorFlow 설치 (0) | 2016.10.31 |
---|---|
머신러닝 준비 3/4: Anaconda 및 pyCharm IDE 설치 (0) | 2016.10.31 |
머신러닝 준비 2/4: CUDA 및 cuDNN 설치 (0) | 2016.10.31 |
머신러닝 준비 1/4: Ubuntu에 NVIDIA 드라이버 설치 (0) | 2016.10.30 |
Keras with Theano 설치하기 (Windows 10) (0) | 2016.10.27 |
주식 투자시 재료의 크기와 시기를 판단하는데에 있어 공시는 매우 중요하다.
아래 사이트에서 공시를 확인 해 볼 수 있다.
dart같은 경우는 모바일앱을 설치하면 직접 매번 찾아보지 않더라도 공시가 등록되는 순간 푸쉬서비스로 빠르게 정보를 받아 볼 수 있다.
중요 이평선별 시간 계산표 (0) | 2021.02.08 |
---|---|
코스피 상장폐지 요건 요약 (0) | 2020.05.29 |
코스피, 코스닥 및 기타 상품 규정 (0) | 2016.08.09 |
대차/공매도 거래내역 조회 (0) | 2016.07.28 |
* 장외시장 커뮤니티
이곳에서도 거래가 가능하나 거래자가 직접 만나야 하기 때문에 거리 및 안정성 문제가 야기된다.
때문에 수수료가 들더라도 k-otcbb를 통해 하는것이 좋다.
* 장외 주식 거래
1. O T C B B란
Over The Counter Bulletin Board 의 약자로 한국증권업협회가 운영하는 비상장, 비등록 장외주식 호가중개 시스템
2. OTC BB 매매가능계좌
가. 위탁계좌
나. 위탁공동계좌 : 입고 후 매도만 가능, 매수는 불가
다. 종합통장계좌 : 2000년 4월 가능 예정
라. 증권저축계좌 :매매불가
3. OTCBB종목의 매매방법
가. 위탁증거금
1) 위탁계좌, 위탁공동계좌 : 약정금액 기준 100%
(매수인 경우에는 현금, 매도인 경우에는 당해 유가증권)
2) 종합통장계좌 : 정산금액(약정금액 + 수수료) 기준 100%
(매수인 경우에는 현금, 매도인 경우에는 당해 유가증권)
3) 위탁증거금 산정시 주의사항
- 증거금 재사용 불가
- OTC BB 종목의 매도체결분을 수도결제전에
상장주식 또는 코스닥주식, OTC BB 종목의 매수증거금으로 재사용 불가
- 매수체결된 OTC BB 종목은 수도결제전 매도할 수 없고, 수도결제후에만 매도 가능
나. 가격제한폭 및 호가 단위
1) 가격제한폭 : 없음. (상한가, 하한가 없음)
2) 호가 단위 (예 : 50,300원 주문 가능하지만 50,350원은 주문 불가)
주 문 가 격 호가 단위
10,000원 미만 10원
10,000원 이상 50,000원 미만 50원
50,000원 이상 100,000원 미만 100원
100,000원 이상 500,000원 미만 500원
500,000원 이상 1,000원
3) 호가 수량 단위 : 1주 (예 : 123주 주문 가능)
4) 매매기준가격
- 가격제한폭이 없기 때문에 주문가격에 영향을 미치지는 않지만 종가 대신
매매기준으로 제시되는 가격
다. 호가 구분 및 주문, 매매체결 방법
1) 호가 구분
호가 구분 용 도
분할거래호가 호가 수량(주문 수량)이 분할되어 거래될 수 있는 호가
전량거래호가 호가 수량(주문 수량) 전량이 일시에 거래되기를 고객이
요구하는 호가
전량거래호가인 경우 해당 주문에 상대되는 주문 1건에
matching 되는 경우에 한하여 체결 가능(예 : 매도주문이
전량거래호가인 경우 동일 수량의 전량거래호가인 매수
주문 1건 또는 매도 주문수량 이상의 분할거래호가인 매수
주문 1건에 체결 가능)
2) 매매체결 방법
- 매도, 매수 주문가격이 일치하는 경우에만 체결 가능하며,
체결가능한 주문이 복수인 경우 먼저
접수된 주문이 우선함.
- 매도 주문가격 30,000원, 매수 주문가격 50,000원인 경우
매수 주문가격이 높더라도 체결되지 않음.
- 호가 구분별 체결방법 (매도, 매수 주문가격은 10,000원으로 동일한 경우)
매 도 주 문 매 수 주 문 체 결 수 량
전량거래호가 전량거래호가
1,000주 1,000주 1,000주 체결
전량거래호가 전량거래호가 체결 불가 (매수주문 전량거래호가 불충족)
1,500주 1,000주
전량거래호가 전량거래호가 500주 체결 불가
1,000주 전량거래호가 500주 (매도 주문수량과 매수 주문수량은 일치
하지만 매도주문 1건에 매수 주문 1건이
대응되지 않기 때문에 체결 불가)
전량거래호가 분할거래호가
1,000주 1,000주 1,000주 체결
전량거래호가 분할거래호가
1,000주 1,500주 1,000주 체결되며, 매수 잔량 500주
전량거래호가 분할거래호가 500주 체결 불가
1,000주 분할거래호가 500주 (매도 주문수량과 매수 주문수량은 일치
하지만 매도주문 1건에 매수 주문 1건이
대응되지 않기 때문에 체결 불가)
분할거래호가 분할거래호가
1,000 1,500주 1,000주 체결되며, 매수 잔량 500주
분할거래호가 분할거래호가 1,500주 1,000주 체결되며, 매수 잔량 1,800주
1,000주 분할거래호가 1,300주 1,000주 체결되며, 매수 잔량 1,800주
분할거래호가 분할거래호가 300주
1,000주 분할거래호가 500주 800주 체결되며, 매도 잔량 200주
라. 주문가능 시간, 예약주문 전달 및 수도결제
1) 주문가능 시간 : 9시부터 15시
2) 예약주문 접수 및 주문 전달
- 당일 07:45 까지 접수된 예약주문은 당일 09:00 에 주문전달하며,
- 당일 07:45 이후부터 익영업일 07:45 까지 접수된 예약주문은
익 영업일 09:00에 주문 전달함.
3) 수도결제 : 3일 결제 (상장주식, 코스닥주식의 수도결제와 동일)
4. OTCBB종목의수수료 및 제세금
(1). OTC BB 종목에 대한 증권거래세 : 매도 약정금액의 0.5%
(2). OTC BB 종목에 대한 수수료 -코스닥과 동일
구 분 약 정 금 액 수 수 료 율
창구 주문 - 0.4%
HTS 주문 1천만원 미만 0.2%
1천만원 이상 2천만원 미만 0.1%
2천만원 이상 1억원 미만 0.08%
1억원 이상 0.06%
(3). OTC BB 종목에 대한 양도차익 과세
1) 비거주자
- 매도시 양도차익에 대하여 거주국과의 조세협약 세율(또는 제한세율)을
적용하여 당사에서 원천징수
- 현행 주식양도차익에 대한 과세와 동일하게 처리
2) 거주자
- 납세 의무자 : 해당월의 월간차액을 합산하여 익익월말까지
고객이 개별적으로 세무당국에 신고하여야 함.
- 양도소득세율 : 대기업 주식인 경우 양도차익의 20%,
중소기업 주식인 경우 양도차익의 10%