|
|
改了一下,这次运算应该没啥问题了
: s: C) m( K9 d* ]; X
# q9 W9 Q9 |6 A$ ?) |8 I; A! v' u) W1 _/ [( e+ {! h' E$ _7 X
capture program drop hello
- ?, W% ?5 M- h
- p/ D5 Y/ n2 b3 \program hello6 t( O; `+ `2 ^6 r
3 I, e& G$ u0 j) Z, K" g quietly {* m2 l/ N. t8 L
$ t; p5 T7 E+ Z' @: N2 F
clear
- x# r1 ?, z% A5 M" q
$ A5 a/ {" Q& v- J7 ^+ e J0 Tcd e:\finance\stock\20110101\source
2 n$ w; `7 U3 ?" W: y% I4 N3 d4 W5 ^/ `" p. e
insheet using `1'.txt8 Y4 m1 i9 L+ t+ A' U) M5 C
. l4 ~' X' i) u4 t
keep if v5>0
( M! @" Q8 X: C2 ^; `$ l
) e4 L* N* z# r' Y+ S# J4 \ gen vt=_n! r2 A3 C! _( e4 h
( @" _: n# b# E tsset vt
2 N/ D5 C# v- J: q7 m% O4 T3 C" o# X# L
gen zf=D1.v5+ _/ h, B# q! F" W9 K
9 j" d8 h6 q8 [, t
gsort -v13 P- {" P4 i0 }3 j" ^% }) N: x! K) U
( M* ^ e7 p2 I) x n+ C0 Q4 D gen avol=v7/v51 v8 F3 s/ h+ n) v- t% z
) {' s6 ]" h6 a' B7 T9 g keep if avol>0
. Z/ G2 ~! q8 i7 j # b7 Z) M4 b" i, ~, A6 Z+ a
drop vt
6 W) q' D; M. S6 E9 }* R# H) ~# K 6 D% A3 s5 G E4 e) o W$ c
gen vt=_n
7 P0 T Z j& W( n % S5 H# m) P& l$ P# Z
tsset vt
7 M) G9 `+ t- F" y7 [2 F # [. d& q! Y% u
sum v5 [aw =avol] T# u1 a) k# J8 i: U" o
N7 ?# j9 c8 t( ~( z: C' R$ |' H gen amean=r(mean) in 1, I r8 b" _0 e
7 E8 k" ^3 o" j p' L0 l) B
* 总加权平均值 amean
/ P! K) t) m' {* _- {& i
, U D* F1 V4 d% O6 M
; d! n: o1 }1 v; [ keep in 1/2406 n8 B8 e7 o8 h( N O7 n4 ]8 @
; _9 [2 j$ \3 |$ o& z sum v5 [aw =avol]% V' h4 ~- I( f( Q
! V- F- W3 h9 n& B6 g gen mean240=r(mean) in 19 [( ^0 j. W x' U; L8 _7 x1 f
9 F& _8 w* p! f/ U; q1 C: A *240加权平均值 mean240
$ n7 _5 R( z* h
7 V% U6 D% `& Q# @9 N set obs 500 & s& z, \* r( y* m( m
* l) ]3 V' U9 a& o m6 b kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
& K9 U w; h0 b+ z; H$ Q) I" u ' f# v/ D! z+ m1 E# t7 x
*240 kdensity(dx240 dy240)0 X& o4 x, G2 s$ D$ b
: x$ U& J, c5 S' C3 O/ B" x( u H
sum dy240
- w' f1 D8 a5 h+ ~3 s
7 U% p2 ] q: t$ L" s% N' M gen yxis=r(max) in 1
8 e, P, X1 ^/ R& q" O/ l ' l' ?9 k' v; K$ Y+ W3 Q) o
gen yxis2=yxis/29 R. w- v7 d+ P( o* p6 Z
& @; I* _% x: }7 x/ S/ Z5 s *yxis9 P8 k; [9 Y H7 v4 X% p' X& z
( f @1 q, J( G" B gen dy240max=r(max)
! f4 n/ `" G6 r5 f" {) V
0 {9 C. I! R' T: s1 }2 i3 Z" r gen dy240minp=r(min)
! Z }% G5 `$ ?" G# n1 e
2 l3 w; T5 u* @8 }, ^( v gen vtt=_n
. V+ h6 B; e" _$ ~" l% }/ I# H
# P4 J7 u2 l' u! N. N/ Y tsset vtt
, L* x3 u2 Y6 ]9 ]8 X7 ] H# r& j6 U! r- c; V+ f7 r/ E
gen ddy240=D1.dy240/D1.dx2401 H8 S0 _) h! c1 n# B- Z0 j" R
; D' k" a( L6 [6 y' }- C- F sum ddy240
) C4 e) K4 ~: J' H, D 2 O) ~/ K6 q+ R( ]
gen ddy240max=r(max)
; |( G' ^+ [& c9 w' D4 Z " B( N0 \9 r" @- U- N
gen ddy240min=r(min)9 P& {# l1 {; v0 X$ R: U8 \
+ ^- H( d9 f9 {2 a/ f6 q
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min); v0 @1 q3 R0 V. G( M
% o5 v* {- A' Z
sum ddy240g
/ U; H& [( H! Y+ K - l5 ]; {) k: S! j
gen yxis3=r(min) in 1
* {0 ~8 e. t1 F a& F1 a R2 e+ r# b ) @) M" r! k I$ M7 F6 a0 S
gen yxis4=0 in 1: u- e- M9 X* n1 q
1 O% Y* f: U S3 \5 ~# m5 v *ddy240g + p7 F0 ^: u/ Q" o6 q+ y
$ h9 m! `4 B- H 9 R7 W% E4 |: r5 p- _! D
preserve / j- @* V, p+ {
! Z/ ^3 q& H6 [ F sum v5 [aw =avol]
5 |, @& d3 @: [( D' M. \ F $ x3 n' n, R0 t9 O$ N1 |% `; u% V( U
keep if dx240<r(mean)
. K$ m9 y, L1 ]; S 7 R1 `5 R2 `! D. ~% K0 S9 T
sum ddy240+ y$ {1 z$ {" S+ ?6 J8 g( H
# ]+ b& X- Y6 ` w# [# h7 n
if r(min)<0 {% ~4 v' ~2 s8 w) A# z1 m
. X. _5 p4 g' z! ~* D' S, h
keep if ddy240<=0
f2 H- y- N$ y v3 ]1 y; F
5 R2 p8 d( S' W, _8 ` count
: s( b' e9 C. h; V7 ] / ]/ }, a) o: Q' k0 [% W( d6 t
if r(N)>2 {+ M+ [) ~) a# y
- z3 Q& [3 ^: U6 e& V( Z' Q( Z, B5 i! a
pkexamine dx240 dy2401 @: p. U+ ^3 h& d; m
9 T) H: l3 l7 m p local tempminp=r(tomc)' k0 ^7 D P" w9 B# k3 a+ [! R
restore * U( K( [- p5 Z/ q" N8 V
}
1 w: \1 Q6 E K* E, }9 @ ; M3 [' p4 q p
else { k# { C& V- d3 n3 e
- x9 n; g8 {+ L6 h6 ]
di "cannot find minp"
6 b# s2 I" {3 v, N: O( |% _1 i. v . M& i8 ^! ]0 E
restore
% d2 D4 ]' s; L& S$ U5 v: P* M2 i0 ~ sum dx240% p5 ]8 ] Y1 ^, P
local tempminp=r(mean)+ I( \' o, b- ^7 s2 o* a. `" s
h5 j/ e* i F& w0 z$ Z
}" x7 O4 n2 {8 d# I0 T8 V8 f
}7 |4 s- u" m2 W. m
else {
! F; d. y6 S! J1 s- Q
9 O. Z( @0 [9 @6 u) F: L keep if ddy240<=r(min)
# U1 h6 p/ e4 F( w* D; y+ h1 s3 ?5 o. x 7 X; @7 ]3 m# d! G
sum dx240
3 @6 J: u% @+ @' H" L: m7 z - p3 R! i( v8 b* l9 m
local tempminp=r(min)
8 L6 `( m* [/ x1 E) u6 m, {* k( K restore
4 x5 w/ N. Q) m* k }% W' q8 c$ r3 a
5 C3 C1 ^ d- t
" y# f1 w1 W3 K% V$ v7 L; ]
$ z/ T5 [- h! M# L% ? gen minp=`tempminp' in 1. M/ ~& i$ S; E$ P' x
*240 minp
* M) q/ A2 d' M/ U5 J/ n/ x( ^# F; ], ~( J4 z
8 V. {3 j. m% L* H8 r8 ^
% {( }3 x% R: A/ H" R& D8 E preserve / K' k, F1 h6 q
- W' E/ s% [$ _( _
sum v5 [aw =avol]- @! d% Y2 [' Y- L7 b) P
+ z/ p* L) K% c+ w/ L/ ]
keep if dx240>r(mean)
' x3 ^3 h- A) a1 j9 o; I. V2 I" v
8 Y- @2 O9 L7 n* v u sum ddy240
& M+ I3 b% l& c
4 m, G1 O% @2 D9 C4 u6 ^8 @ if r(max)>0 {$ k7 F) O6 F a( ]$ ^7 p( R, }
; X: {; E1 ~$ ^& M keep if ddy240>=0 J* i6 p* @0 b7 z; n Q$ R1 `
; J* h5 B& D1 c" \4 a
count& T3 |! G0 j# F4 ^+ |
- M& l- q6 W3 B: E# ~
if r(N)>2 {8 }& w1 a! H6 b& o1 c, G" K a
8 x+ Q+ {- G: i) y3 z% t q
pkexamine dx240 dy240
; {5 M: k, k7 B1 C+ X3 Q/ Y% V% N+ D
1 o0 p6 I8 y( K& v( s4 O1 \, N local tempmaxp=r(tomc)
5 G; H( g; x' s) |- E* M restore
4 {& l+ ^9 J/ ]+ Z }: ]& _# k4 V: ^" _3 [
8 O! l: a! p! h
4 n6 `) _+ y/ Y6 o, B- j else {
% D2 p2 ^, R3 @" Y- ` restore % W$ e: q6 ]" t/ k% y# w3 o" H% A% y- u
di "cannot find maxp"
L' d |) ^5 ?* G3 O. y( H" r, ` 0 t& n6 ^# S8 g
2 r# N; m0 @( r! L* U. `, U. i4 |
sum dx240
1 C, K, n' z5 k: f local tempmaxp=r(mean)
8 m/ B( r0 y0 j1 \ 9 m% V2 x) S' V3 m
}( J, G$ a8 k9 L. G1 ^, t" Q
) E/ N- I8 j; \" J) ^ }
* ~2 w, S0 b& X) P8 s 3 n# W( f3 [6 j1 z' K. Z
else {* O1 K, n' n- g2 q0 G
" e- d9 {$ a/ Q4 N% Q) K* a3 T3 G
keep if ddy240>=r(max)) N! O+ i" r" X. M) b5 q
/ q; q% ~( I7 V; {# K/ B sum dx2409 a; J( b& Y3 o% m
& R6 s3 \+ C" c7 [% V& P: T
local tempmaxp=r(max) 9 i e2 m* N: ?2 F) ] T H
restore
% u! d6 j* z; Q) }* x8 I- n3 [; x0 J }4 l6 d/ H: g0 {9 s& f9 E2 Z
3 e7 T! p" f/ W+ C& K, g
: x( m7 @4 a0 |) y# h 1 a/ M7 T: H; P5 m$ `& ~7 t
" r% ?. K( @( T, }! C J
gen maxp=`tempmaxp' in 19 o- ?1 t1 ?6 f5 Z$ r& J) Z
" H* G$ M u- Q% x' E *240maxp
2 o5 a! ?5 f; P4 v9 _ - f- n( e5 @ y% J) |* c6 ^0 k) }
) n/ u/ J5 n+ M0 {! L
*-------------ddy240pminp左侧高峰值-----8 S ~( N8 x9 L/ z, [2 m7 t7 g. ?
3 J6 b9 v- t* b$ J+ L preserve 2 Z3 F1 K2 @$ `8 [5 M- W" H
( d# x& r* Q g4 m; _" M- j% v5 ~ keep if dx240<`tempminp'
# K" O3 J/ c: ^# r t
' g- A8 _6 N( I7 p' B keep if ddy240>0. K/ B' Z2 N# y" s! `
2 O8 `+ \6 Z4 g6 O7 w3 S: d: e1 V count6 ?: ^& O7 [$ h0 C8 ^
2 M3 [- c. y- u
if r(N)>2 {* ^/ A, q5 ]0 V/ I" e
: j, p/ Z: T; o% F% {. Y pkexamine dx240 ddy240+ }0 b! l+ w. j: c
% {* ^# {& ~/ t0 L9 l+ U3 d2 e local tempminphddy240=r(tomc)
1 |4 p4 O+ ~1 h! {6 `7 P) P+ [ restore- {- B3 f; f8 e7 k( g6 h3 p
}. i6 C% c' y: t: s
# O, P5 B7 B8 U else {
* p& V1 X) w2 j" ^$ o- E restore $ a# k: L( j+ \6 I& b$ M- ~
di "cannot find pminphddy240"
( W; Q0 `9 x$ _! Y# i $ b% { n( {( S
0 R& w' m2 V7 W1 N- T
sum dx240% I3 F" [9 t" T! K
local tempminphddy240=r(mean) $ T9 Z8 x0 [. ~
4 o3 [" m5 X! l; P9 {
/ \' k7 h: o7 T% x6 i }9 d H1 Q4 ]2 s$ A4 X: `+ ?
/ l, h* e: L% d' ^3 Z, y
: X/ M5 J- q) X/ x
* w5 d* Z# G! E5 U. P 2 N- M) h9 [2 {* ]( z" E W/ e
" A j8 P5 @7 d2 f" m; J% ^9 E& n
( C' n. r0 ^! @+ c7 _5 B' E5 H gen pminphddy240=`tempminphddy240' in 1" P4 P2 R. I% |+ i
* l; S6 r0 b& k) V- C% i; t
- H' @1 f; @+ P; J
*-------------ddy240pminp右侧低峰值 -----------------
8 J/ n. t7 t- @4 W i+ q preserve ; k7 P5 e( Y- S. l
$ Q; m1 S: a* |0 n keep if dx240>`tempminp'
2 \, o) d3 b w, M3 ~3 D, x ! Y, e3 y, v3 J; k7 h
keep if dx240<`tempmaxp'9 K+ `, X7 O7 K8 E
0 o) p& x4 V1 K
keep if ddy240<0
7 r9 n" m0 g9 g2 d7 K1 Q% U, l
V7 w) t8 \9 Q l: K2 M gen temddy240=-ddy240
! |6 e8 o3 s; j
4 u. q5 I! N) ?6 {# G# ?" f* j# s count' P0 V1 R* L/ Y8 A# S9 e8 w
/ B7 Y! S- ^7 I- ^4 ?$ |4 {" \9 a
if r(N)>2 {; x- B) Y. f( S2 V/ D
' G m2 |) H8 v: g
pkexamine dx240 temddy240. ~: z. s9 f$ t% O; J
7 |: q- }8 e; G1 z* e
local tempminplddy240=r(tomc)
# h9 }/ { m8 J- G) g restore
6 X1 ]9 q2 X/ \; k+ ^8 G }
$ }. I+ D- O1 ?$ i" I
0 {/ {9 x, I n+ J( } else {
# o! c. V6 q# Y$ [; t! { ' g$ A) B! [' G' `6 v& R
di "cannot find pminplddy240"% E$ y% ?: U/ }
restore/ Q, E- D2 O1 E
) u8 `. V; l4 f8 y3 Y* Y sum dx240! v0 `% R G* L& M& \
local tempminplddy240=r(mean)
! S5 U7 C; l3 R C7 ~, v1 ?6 ^$ u( }1 P" C
8 p' L- U6 X J% W H
}( W' E7 o6 g, r g3 w
9 z( l: f1 Z9 ]: |9 ~
. ^+ x t# J. J V% U ! w% W. X' j) V' P+ N4 ]# ^0 Y7 \
+ ]. v; Q b: e7 ]- @1 H 4 {0 @+ F5 t: P2 {5 K- \
gen pminplddy240=`tempminplddy240' in 16 A3 i7 ~6 J! H2 N! c J9 Z
, @7 t, q0 F. G7 w *-------------ddy240pmaxp左侧高峰值 -------------------$ A, b# s g0 r+ m
" L, ~2 N, ]2 y) T. n
preserve
1 ?& l! x. K- h6 s- Q6 L$ z8 z* s
0 L0 g' ^1 o% b keep if dx240>`tempminp'/ a8 Q8 ~) l1 N5 B* }
% p1 F$ U: _7 p @/ e) A
keep if dx240<`tempmaxp'
& H/ q/ }0 b" @/ Z+ N+ W3 k
* B3 F7 X/ H6 |1 W; F. `9 j keep if ddy240>0! x+ L* c6 q9 r! T# y, V; E
count
( N9 V; ]" R9 @: ^6 g F2 e; U# v
7 z0 v! {% c! F; B0 e if r(N)>2 {& b. ^- Y; r- N- ^- E4 h. L1 {4 ~! Z
+ L" F( L7 I( A L6 [/ J pkexamine dx240 ddy240
2 C ?9 b4 A% H8 v- x2 x # w4 k# i, F8 X6 l
local tempmaxphddy240=r(tomc) & {% z. O; ?' M6 d% F8 h
* e3 G* f9 L5 p% l! W' j2 I4 K
restore
+ V' F( R8 l% |2 E+ e% s }; [/ g8 h; i0 P
, T. b3 Y7 o9 o9 M6 {0 K
else {
1 m- x" N3 y: ^8 L- g4 @' Q4 } % [; d9 _! M! m1 r8 Q
di "cannot find pmaxphddy240"
, ]0 M1 \0 \- n0 Q/ u9 r% y/ K restore
) v5 E! p$ h9 w2 y9 A! B
. h7 y; F7 @0 g sum dx2405 z/ h/ _$ c/ M: a% G& e) _
local tempmaxphddy240=r(mean) 0 ]1 V3 Z$ I+ h( y# o" R4 @ J
& U1 Z! A1 x: V. Q. v$ o2 T - M7 Y/ k D( D! f$ [- S3 z3 n; Q
}4 ~0 s# F3 R% J/ L; o8 C5 v
6 k1 }- S- K9 G! K/ [
6 `) b S+ y5 ]( T9 E: Y8 ^
$ I% X! a' F( [1 r; C+ ^3 U! f ( o( L5 z1 g: ?% |
0 A5 Z7 B+ @2 N; A7 p3 y+ B6 y
9 l' [! i9 P4 U& i: G" A gen pmaxphddy240=`tempmaxphddy240' in 1. g: |+ `& g0 P% P
3 i, y1 m% {$ g0 z; S5 d. ? 0 G2 v9 a; a* C) m
*-------------ddy240pmaxp右侧低峰值 -------------------+ z) z+ \ T* @; Y6 u! j- S l
0 D+ }- z( N+ ` Y1 y preserve , @( O3 O& z/ _' t! B: L/ ^: k% x
( ^* X) |7 ]# s; t% b; R* E. u7 \
keep if dx240>`tempmaxp'
3 L* M, n: P5 o$ w( J# p' b, m
! f' M7 P" w% ~" G% r$ {! K; P gen temddy240=-ddy2407 j- u2 @0 ~+ {1 l
/ O) p3 F! j: }( z; K' y) x
keep if temddy240>03 E" t! L6 q4 V2 g3 \; [
( g/ P' `) E& r4 U; A$ I' |
count& X) u( D7 e, N4 M8 s: F
+ l9 Y0 U. x9 h+ {* ^ if r(N)>2 {0 d+ |, l* ^5 K, w9 u
; z7 C/ B+ ~; z) B1 M( S- \ pkexamine dx240 temddy240
2 o9 \: M1 t% p% d
- ~, G* G( ?( ?7 m9 e: N; F& g2 _ local tempmaxplddy240=r(tomc)
" o8 Y( p, a7 m# P restore
1 ^/ n/ i' q( G/ y \5 C }; A3 \- z5 U& D: U; x' j
8 Q3 m1 _9 |' P, I. M
else {% {5 }$ [. j7 W7 k
restore. S) J$ x& |& u8 d' y8 P
di "cannot find pmaxlhddy240"
/ D/ w7 g, X3 s2 j: q9 |
) |0 F4 V; U$ W
+ Z9 i6 R6 B0 v: ^0 a) \+ K sum dx240# Y2 u! S) r0 a
local tempmaxplddy240=r(mean) in 1( c- n. I; P d% @
6 v1 |* U0 ?* M, z7 A
( ?2 ]9 E7 w Y
}, L$ g2 s" t& z" a
4 u6 A0 e5 S7 B: |
4 N- V! p* F3 G' S # H& F6 y- M8 N" ~- [4 j
# @+ G d6 l8 c6 n0 D
# w5 A- F9 t* f1 g3 k
! w% Y& \9 Q, |3 L9 X* ]
gen pmaxplddy240=`tempmaxphddy240' in 1
$ n8 W8 N8 J' @ * u! P7 t+ c6 Z% H4 S
*-------------------------------------/ P! u& f% |7 f7 ?4 b0 W$ R4 g" i
: a1 O7 C" v( o& W4 {. _# N gen price5d=v5 in 1/20
1 Z3 t, z" A' ?9 ? e
2 @5 E# Z* a. \8 t7 ]2 }. [6 k gen price5yy=_n in 1/20
/ f s' N/ G& a O
2 M: d; d. G' p# Z' p gen price5y=price5yy*(dy240max-dy240min)/20# N8 j& ?! M8 l7 l1 Q' H' h5 c
$ M6 r* }% X2 \/ a: Y' o( @$ V" l *price5y &price5d$ d( {8 M# _' W
' G2 ~9 s$ L2 }; T) } gen priceny=price5y in 13 g. a# c# [9 O+ ^$ m2 ^9 N9 h
1 e& [& y$ X, b& @( M4 f6 p gen pricen=v5 in 1) U3 S9 B7 h- P4 ?/ u
0 ]- x6 \5 b" a ( f# J, l$ B: W0 r2 G
*priceny &pricen" N1 Q& f( ~9 v6 Q) n0 y
' [) `/ f2 S- V3 m4 Y8 M
+ W- U* F8 F5 G8 l) s; z0 r *-------------------------graph------------------
4 Q: M- L, O5 b 9 T% V1 S4 }; P# {
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
$ K. _" Z& [; q" N6 d( x2 S
) H! j# s/ i9 D* ---------可选项目----------------------
4 H, `# ~+ W5 m6 I7 V% S/ x& A
& B+ X( G9 k% ~/ n( O}
* n# b o. T- w6 F0 H8 F" Yend1 B- v3 k/ [3 M% _' x
|
|