|
改了一下,这次运算应该没啥问题了
; C4 A0 @! [' m0 H& S G5 n( l1 _$ ~- h: ]
& @& r. l$ V# v. F5 w7 L( vcapture program drop hello X, a, R+ f( y( u ?9 I6 g# ], b! v# J0 Z
# Z1 i. k1 |$ [, M: D8 |" Q
program hello
8 k* T6 h4 c( y7 O. w3 B! Z
) j) H. X# ]" ^: |6 B quietly {- Q# f6 M; \& p& d8 v! b, `
( h5 Y# V* i( _# Y: [4 U
clear* @$ y. f% a9 s5 q
& M3 h+ M; w! A
cd e:\finance\stock\20110101\source
$ d0 r# h4 ~9 p, R1 K; X& f2 J& s5 i! ~8 E. e
insheet using `1'.txt- b) w9 J4 w9 E
9 ~ @/ N3 M7 J! G
keep if v5>0" U& Z0 Y( ]( U. m9 ]
. c+ c# {( M, j- S& v
gen vt=_n- N3 W* V( r% ?: w: g
- @+ Q; \# c5 ]8 t" w$ I
tsset vt
5 R# j% H( P/ V5 D" f7 S8 m( C, R. [
gen zf=D1.v5+ o( T% ]0 \( v8 p, C* Z1 e0 m
9 o0 F5 t5 Z3 e1 a3 I
gsort -v1' P1 x: C$ O5 k1 N0 J" P |
' S! t$ v; o( b& Z gen avol=v7/v5
, V8 c: B( e6 W( [( R
: J9 p3 T1 K% M+ E keep if avol>0
. Y( f! F( w! M " y/ Z4 E+ i9 A, N1 C
drop vt
( g9 |4 B2 \5 Y5 a3 h / Z9 b) F, e6 c# d1 g
gen vt=_n
# b3 q. G& s4 a$ R0 N" \, A) H _2 F
& w! g) c+ K3 r) P9 X# A tsset vt: _7 H& H+ U( o& _) z% h
6 n3 u% O& D. N, A4 t+ J
sum v5 [aw =avol]
1 a$ n+ l Y8 p5 R/ p6 r; c, H0 D ^. ^; d
gen amean=r(mean) in 1
- \' D8 ?" R) ]+ O7 o( v0 B- x1 S
; Q8 a1 K* U- a/ f; }. ]; u * 总加权平均值 amean" c: a; [, c B7 A3 U
+ `; g5 s4 B5 X2 ?! J; t* C
6 P/ T# r% r* D' I keep in 1/240
& t& y% b' {. Z& P& e" x$ n+ I) ]% b% S) P/ g$ u# g: Q
sum v5 [aw =avol]
2 z' K' q, f$ E# W* @8 m% p" Z( f: g! S9 s6 S
gen mean240=r(mean) in 1! m4 g& ?9 u: b' {/ U, D
: x. I8 x5 ~* y" g) @. u* H; V) u1 p1 }
*240加权平均值 mean240
2 q M: Q; Z1 R" z1 a& q6 n/ P8 k6 O4 ~ , C) N# k' s) ~; R- N
set obs 500
+ p+ q4 p! M4 F( c& z6 P5 s
5 n3 N0 p6 K, `; C% ~6 D0 L+ \. Y kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph+ G8 p; y" J" N* H3 g& n" x6 F0 Q
! k) l1 T! D. a1 J/ G P *240 kdensity(dx240 dy240)+ d9 b. H4 G$ u+ w
9 |% B/ s# g- Q% F: A% { sum dy240
. _# n9 I5 X" |7 N8 b- @$ t% y + ~" F4 `- D, C: F; S. _1 J4 R9 M
gen yxis=r(max) in 1
1 B7 E0 ]: P* {# s1 Z; `, i' F
$ l& Q# t! U" S; T; c, O0 }; T gen yxis2=yxis/2
' L+ U- g% L% ` % F6 _$ H8 P$ u! Q
*yxis5 H0 X- H! J/ {4 ]: \! o, s' M
- q/ N( Z& R, y% i5 E
gen dy240max=r(max)
% f+ o: f9 I- e7 c & K3 q* _. S1 s/ B; i% _0 S2 L
gen dy240minp=r(min)4 w9 o5 G9 U/ D4 j
8 U9 P1 e( a( j7 V3 _' K
gen vtt=_n
$ o8 |/ W. Z) j1 |/ H- V; p
, g R, V, Y, @, K" q tsset vtt
4 Z" a* C: S Q0 U5 Z6 w& b5 C! y! K0 o( w* i
gen ddy240=D1.dy240/D1.dx240! {* J2 O; I3 b6 U4 J
; v9 g$ |5 [ I9 N- m7 ]# C: U sum ddy240- x# R/ P2 I- s9 f* }/ d# _
8 B$ f2 m: `! X& F0 F gen ddy240max=r(max)9 g4 `" ]3 q8 h/ V
0 |# w2 t( T+ Y7 o* n; ]& a
gen ddy240min=r(min)! b k, j+ ?3 _* g$ ~7 Z3 J
/ b) Q/ c _2 F$ R3 d- ^" O$ \
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
/ j8 I& L+ L4 w: U # |; e+ r* I/ \# J! m G
sum ddy240g
$ m: a& {* n2 P ] k; Q ( v8 @) ]: @* i1 n
gen yxis3=r(min) in 1( ^% x$ J/ q5 _9 z2 I ?+ R
3 Y2 @, e0 X9 }: x( b6 Q gen yxis4=0 in 1) U9 }0 l2 x: M( E% ^ ] ?9 W
6 B$ ?; {% [0 s% O *ddy240g
: _2 a: J( o% d( s" E 0 O8 S' P) M; ^6 J' ] C7 d
+ a3 E2 k/ P/ D9 B/ t
preserve 0 D. ^# v Q" B: [
0 v5 Q& E/ f: O# s. j; i sum v5 [aw =avol]1 X1 D: x, A- a- a8 J+ ~5 h
& Z; l5 o7 W- Y; R1 V M keep if dx240<r(mean)
0 }# v' ~- r0 w 9 K* f" ^9 H% y6 n' ]
sum ddy240
, T$ O: w: ~, {5 E1 t 8 u5 t% V5 @ Q5 Z" Z
if r(min)<0 {2 o+ `) k' d3 U: M2 L. i. c5 w+ x
1 s' n4 A& L$ r: R4 m, r
keep if ddy240<=0& S6 C- N- w+ G$ g2 U. S/ M# ^
# H9 R3 ~; a6 d7 r K! t" r3 d count4 v! `/ v- r" p: p* t) U! q
{7 H1 X2 i0 X7 j. M if r(N)>2 {6 _# k: t; @! C+ ~% u: E
' u1 e4 T. R% o4 c- L( t8 T pkexamine dx240 dy2401 \" G, Z9 _5 B! t0 t, t- M
+ I+ R4 V2 `! b. O2 I4 H local tempminp=r(tomc)5 Y0 ?$ S% j( i
restore
2 V* A% g3 l* c3 k }
, O* P: e1 I# ?3 t1 e* { " J, Z: K$ h4 Z5 M0 ^
else {
; m/ ?) s: t- j# i. g: M
% }2 r0 u- v& F di "cannot find minp"
) B( ^6 S2 T- N0 a8 y% l 2 L) j6 z! _* h
restore
7 A4 N8 M( N5 } sum dx240
4 \; |# R8 Z; l& P local tempminp=r(mean): H# j( A' s1 t" S. T, Q0 S
' s- P$ x! b9 ^! A" ]) J! E) A5 `
}
- s7 f* v' R- b9 D }
; @: {( \$ D e( M2 u! T2 ~ _ else {& @5 g8 b4 z7 \* Q1 n7 ?# {
- ]2 q* J. B1 ?5 j5 @; R. x keep if ddy240<=r(min)% @; k, I% H, {/ F! U+ v
- C3 l- i4 B7 P. d$ Y' j sum dx240- F( ]$ j0 c9 D
8 x& i4 Q; q5 r3 K, q! Z7 H
local tempminp=r(min)
" v7 O9 N# Y9 l, n$ E. B restore ' o; ]. L5 E% `! V6 c: \1 N* c% ~
}, H; k6 N- f9 K2 f. W' [
1 [: o3 G: `5 W$ v' e5 I7 t6 W Y' r. |
) @& c/ u( d$ o' g$ C Y! e
gen minp=`tempminp' in 1
8 ]6 x4 o* M! c1 z3 N' Y+ P" O+ [ *240 minp
~& Z; `5 r0 Y4 y1 H' i: v! [/ u$ i/ R j
; y: ^5 R% {# n6 F) ~
0 d% u. a8 N6 O* B7 J1 }$ c! U preserve
' p8 Z2 q, N% P0 ^& T5 k: T" \" M 4 X; B. L4 V8 ?6 i9 \
sum v5 [aw =avol]
7 u2 H) ?/ N) w5 o$ K
2 B3 C0 S) {$ c$ L( ^, I& x" q keep if dx240>r(mean)4 i' B; [5 q& S
$ V& A4 ~& j8 R U* F0 n0 g i" G
sum ddy2402 _6 ^+ `) d+ K1 B4 j0 h! `
; v- `$ L( \& W
if r(max)>0 {
* P+ i5 E% c/ ?9 |) _ ( M$ X C( r' k
keep if ddy240>=0* c# p, [7 ^# q& ~' {( |
) X* G8 c) E0 U: [
count
+ Q8 |$ R8 Y# v! a
$ D2 l8 C# d5 z6 e- M if r(N)>2 {
8 y& u& j4 f- h& b1 ]4 }) Y # l# a0 f" o) O' ~2 _! G8 k
pkexamine dx240 dy240& ~+ V! F, n* [% v! b
. U+ ^# y9 k: C: x8 f+ C
local tempmaxp=r(tomc) " I2 \6 U* V J6 e; Q% X
restore
3 U% E# C& Z) }5 A2 y! H; O }! a6 i+ J$ t7 M* k7 _0 S) O+ u
1 g- m6 v( z: B0 I+ d" R' T
9 |# }, m. C+ C) t. \) l) S else {
1 O% R* `, A: a& F4 m restore
F/ u8 v. b$ V3 D. Y di "cannot find maxp"+ i6 Y6 N* h0 W
: ^0 ?2 l# }+ m: f+ c# B' c( ~, _
9 J+ ~' T5 r# o$ x sum dx240% d/ v1 `) Z8 V5 {8 C
local tempmaxp=r(mean)
) X1 \3 e- f( Z) B; Q+ ?
! ~7 z2 s2 J" u; Y }0 G2 X- U- Z+ e; K8 ~$ {
# |9 N0 V3 |+ M5 N }
* }3 Q; o# a R O' |9 T8 q
% _# k* p. V1 z) G8 J else {: [9 d- B! r$ F" R& ^
6 j6 P+ N& E J; V1 ^1 ^& c
keep if ddy240>=r(max)
: Z5 k# @6 h E. w) n
# x; n1 c: N0 w3 |8 C% G5 |* H sum dx240
6 i/ F& ?/ x. {* x; A; I- w
! \8 D' J4 H+ f6 F local tempmaxp=r(max) 9 ~& T8 h* Z; _) P
restore 9 z) `) N( |: N
}, k: ~2 l! Q# i& I6 V; v: J# g* N" C
" j3 r, \3 F. f. Y7 Z
" b# s. {% S" [# e9 ~9 S
# w# V2 _* ?3 Z# e& X; Y x& M9 R( l% D
gen maxp=`tempmaxp' in 1( m0 E, w5 w: K& F5 k; a( |; u
1 z' q; b- Q! ?8 v
*240maxp8 [3 J" a: S; v5 {9 ?, Y% d+ r# ?
: [# G/ i z( X/ i! w+ U
# P- O+ N% ^% L$ E/ p- R *-------------ddy240pminp左侧高峰值-----
% G* t8 U3 g; D( d+ i P
: H, Z. C( D+ V" s$ C preserve ( Q0 I8 `( e& |, C
. V& b4 E* c& i1 i b3 `
keep if dx240<`tempminp'
& D& }4 ~8 ]/ s* P* Z9 @- ? ! y$ W- |5 O- c) d* D) }
keep if ddy240>0" B& ~3 S8 D5 Y7 _
5 ], g& p! n! }$ p8 j+ x1 j/ E. O$ L
count, E- U7 s( k# D- ~# U$ k t, P$ M
- ^0 _/ c' ~% G: ` if r(N)>2 {1 n* w c" r1 n4 ^/ q8 u
O1 @% v1 w0 i6 }0 j
pkexamine dx240 ddy240# q' z" _3 O8 y* ]/ L
* U: K x9 b. [0 E5 D local tempminphddy240=r(tomc) " t( G# Q5 ^, `- G
restore* i ]. l5 j3 Y. l5 ~
}( V. \$ i) ] ~, w; w3 c
- M2 T! `8 O- O4 V9 o9 n1 }' f else {
% f/ I: h( w5 d1 L8 C restore 0 U, \! ~9 @, W1 }
di "cannot find pminphddy240"$ t, ]0 W$ |8 U6 M" ~% x$ [0 p3 g5 W
/ Q7 @% t$ z8 g& u+ E( c3 w
. X, H' ^- U" Q6 B9 M sum dx240
( m9 \0 k7 |7 \; x! R+ b8 m" H local tempminphddy240=r(mean)
8 m6 X$ }* N% H$ B# O
$ O* R# l( x( G5 {0 l) u$ E" N" ^ ]6 O 0 y% c4 Z1 a) ~. J
}- F9 p1 e! B$ ^/ f& P) k
" Q0 X0 B+ Z) z 5 U& g3 }/ s. r q* A' Y
# G$ q1 Z d: G6 |2 C; a
. e3 O1 A/ S, G1 H2 g, C, u; s7 Z; w
0 J' q+ _" u4 J4 |% ^1 q9 u' l! g: \
1 j- Z. q1 U, p) J gen pminphddy240=`tempminphddy240' in 16 c8 }; L8 n2 X t. \
8 F' t% }4 i* V4 V9 u
* C. \. n6 T. k0 }3 } r *-------------ddy240pminp右侧低峰值 -----------------4 p [: ^% E7 j
preserve : r0 A- e: U6 M: y: z- K3 R
4 k( K1 }& J- y+ y, }, S keep if dx240>`tempminp'
% T' c% \4 q8 @/ G* k- s' a 6 D9 v- i" f5 Z
keep if dx240<`tempmaxp'
8 r$ o9 {# Z6 J" L/ K0 X$ _. ], Q " h5 R) E7 x% @& N/ R
keep if ddy240<0% H- l" c+ n; ^1 x& u3 r" L
4 i' x" X8 t- s, p) ~% N# v( s% K
gen temddy240=-ddy240
: ~7 x! s+ t" ?( G+ U , E' H1 X6 b( Y6 z7 A! x9 ^) d
count' ^' v' r% ?% y! ]
5 h" q% Q- W' q: h) A) U4 f
if r(N)>2 {
) P7 ~1 e% B6 [: F0 M1 @ 9 D5 u7 P0 m+ k: y, b [
pkexamine dx240 temddy2400 J; t6 }& n& J( W
/ l0 b0 {1 S; }! f9 T1 M
local tempminplddy240=r(tomc): w% |: J" u5 O/ ]; G" Z
restore
* p7 F) F- E2 I! w5 c }
* F! f8 S7 F% p0 y7 y! C' F * w% C# R6 h) ]
else {9 z' t6 V4 j( E* V
, t: y6 ]) s/ l" e+ c* U# s$ q di "cannot find pminplddy240"3 ?- G: Q" ^" k5 O, w
restore
: J! j- p3 v2 V
# `; A+ ?3 E9 X sum dx240
4 u8 q5 Y) _* Y. V4 B local tempminplddy240=r(mean)! f* Z8 ?/ b. r4 j" R$ ?! ]
1 |! m# V6 J% j. `# ?( N# M # R) A+ T9 [0 U( m; T
}1 i& j5 n, n5 E9 f& h
; I; t3 E0 I/ e2 a- ~1 J
* T, r* O" w# }8 u 6 `0 j+ H+ v% S; v7 Z9 M5 F
9 q5 r" O' R+ a4 C' `
: j( l' G; R9 [4 b+ V7 ^ gen pminplddy240=`tempminplddy240' in 1
6 ^& F( n4 ] `# @
5 E; q d+ h# q( P *-------------ddy240pmaxp左侧高峰值 -------------------
: X5 m' ]& a3 [0 B4 B1 n. \& U0 p3 W0 U0 K & N) x; C: E7 M" }& ?! X# x
preserve - `1 q3 O8 m# O2 K; v
. s9 v: V$ @% L. y
keep if dx240>`tempminp'
4 \9 a; a" P) y2 ? 0 ~! r9 I( j4 ~( R
keep if dx240<`tempmaxp'' E: M& |5 r' b5 L9 E! M
! N% A* ?( k, M; w8 s( {# B
keep if ddy240>0
0 T0 m5 C3 D* G6 t count
1 N* z1 T+ c* a2 e( s3 V
1 @7 K$ Z) J; ^ if r(N)>2 {
( G$ `0 w: J, p Q e% |: E8 B- e* ?8 I3 D& V5 y
pkexamine dx240 ddy240
9 ]9 _% k6 y! a, k" @ I% U
- @9 ?* o, B, T; ?* s6 p) V. s6 T local tempmaxphddy240=r(tomc)
7 g1 y! K3 i! w; H: u! Q 2 `2 a( W6 S3 m
restore
. x6 o5 T, U. ~. T0 y }
7 m! Z+ P8 _2 z3 o0 O9 T- N) A8 k# a
" N3 s, d2 B. Y) \& j else {
/ e- v4 T9 e/ Y* y 3 i& N2 c N7 n; \8 ?
di "cannot find pmaxphddy240"
8 ~. A6 J! j: Z restore
4 V. P1 H/ z, ~+ Y
- Y7 n$ l# K( t) P, g7 E ~ sum dx240# |% w0 }" U3 x3 ]$ O: k
local tempmaxphddy240=r(mean)
9 A- C% g5 |/ k
0 o; a7 s5 T) X4 y
5 o, {! o2 h0 v. I6 c" B }3 v, E/ [; c6 p. w1 b% S- O/ K* i6 Z
6 ` F, z' P' B" u8 y
: M' h/ x9 p, S- ]2 p
/ i9 l1 @+ X# ~* ~' J* m& }
; n" A/ M3 a/ h8 e3 t1 m8 B6 N' A: l
K5 u6 Y3 |! z! A
6 V& o- i" j5 }* l% K
gen pmaxphddy240=`tempmaxphddy240' in 1
/ t9 e; Z' A8 c5 d5 d. t2 T# ^ & v- ]7 x4 j2 v5 [2 a9 a6 a
5 ?4 v+ g; U ?5 v) ?0 F; ^! }( ?3 I
*-------------ddy240pmaxp右侧低峰值 ------------------- G1 z S9 g- |- ?4 T0 Z3 }( n
+ [( E! D, E: }: x/ e: |1 E
preserve / E7 f* b+ X, f0 Y, `$ v. ?
3 V j4 w4 G, @: E& E& \ keep if dx240>`tempmaxp'
/ g4 Y3 n5 J4 l. r $ P: }0 H9 O7 N9 E
gen temddy240=-ddy240; e+ b8 Q a1 A: D' H6 U
% K% I3 M. o$ e9 S& B keep if temddy240>0% N7 J2 q+ J* H9 [
3 B% C) D! `2 u- I* o a
count' q6 C, `5 Q& g( m& H' z
' C2 r* }0 Y5 J t) B4 R if r(N)>2 {& u6 \* Q2 k) W Q
" M& @3 ^* y4 q& o; Z7 j: O+ V
pkexamine dx240 temddy2409 M& K% Z# H( Y. E& }
( L1 K; z! {* g9 }4 S; K2 T local tempmaxplddy240=r(tomc)
/ a( p ^& s- N" Q0 ^# ? t restore+ d. M& d! H+ ?5 S% }) p I$ O8 y2 @
}
3 m5 V4 x$ V( I& X. `6 ?1 z S
3 p: B' v+ o8 l else {' \) w& D/ G$ _$ R3 N( ~* p
restore6 k6 L( H# J! j$ J" G
di "cannot find pmaxlhddy240"
0 V2 G9 t5 [5 ~% V# }
; A% y% x" c" f4 r# E8 @& @7 G, E 1 c! p2 R) V# S5 S+ V+ O
sum dx240
: u. [9 _& J& s" W4 o local tempmaxplddy240=r(mean) in 14 N; c9 v! t0 J
! `, N; |2 Z* z* |4 i7 J
% N# [0 A+ A4 A' M* O( H }
- P0 \% P4 n2 s3 Z$ @" k5 J 0 C3 u) g* O* H; [- C
4 K/ n z3 v2 S& i P) i
3 `- `! y+ @$ f) Y0 v+ o; O
+ A) o1 {! i# i: y+ i1 B6 T" R9 L
% N. x0 [$ |/ r! J9 B 9 i+ _% \- I8 z5 [ O
gen pmaxplddy240=`tempmaxphddy240' in 1: X' p' H; |2 q$ s
! ]8 H5 g7 v/ ^* T* O *-------------------------------------. k: X' J/ n' J2 B& W
, v6 c6 m* n7 `
gen price5d=v5 in 1/20
8 v: `8 L; c$ M
7 D: D' Q! |" M gen price5yy=_n in 1/20
: {' ^6 a( ^# E3 L - J7 w, P. d$ f. g
gen price5y=price5yy*(dy240max-dy240min)/208 d: s# |. _2 N6 ~) e: [
- Z( O: L7 H/ x9 o *price5y &price5d2 r5 N- T, w; Q* L
$ U8 G) d' Y* _
gen priceny=price5y in 1; w6 I/ p6 w" j6 T+ R; ~7 D
A; ]$ }! K, S+ j gen pricen=v5 in 19 d0 v4 z( Y& T( [
( e" A3 Z3 D! ~9 ]& k7 J& P * P- N' c& d+ f9 w5 ?
*priceny &pricen5 d5 o% s) e" j. W( V* S- o
. |7 l7 C+ y- g
( g& a9 S6 A- t# l p* w* x+ X *-------------------------graph------------------
# ^) H+ r% t' W2 S% F
6 D/ C0 w7 ^5 C# J 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)
6 I' h, f4 w( ^) R; k2 ?4 d: P1 |" K3 |# D1 \9 V( K
* ---------可选项目----------------------3 n9 `* ?7 `2 h7 i; A
) @! J. H) ?9 b9 O( K/ z7 i0 l
}
1 n. ^1 k ~% _% `+ e' b+ Mend
) s; H C! r: w( N; x |
|