|
改了一下,这次运算应该没啥问题了* Y( S! s' R5 G& Y9 }5 L
9 F6 m7 W& f; v2 V. [- j5 d( F
m. _0 [4 M& |' a5 [capture program drop hello
0 F+ N" E: l* m6 ~8 {: E
\' K+ w# f* C9 g6 Rprogram hello t; K5 r1 G8 E) X- n0 C
9 b6 |' Q% o5 @( l0 B
quietly {0 V* k3 E* c$ O7 I
* G" W7 {& I d9 u! z# pclear
4 Q8 o* g4 a* ^& M+ h* P
( k& m# V0 ~; {7 zcd e:\finance\stock\20110101\source$ `! U; m. n8 H& s: E5 o
# Z6 D+ O7 q$ h; c: |
insheet using `1'.txt& [; |& }2 U! p/ S7 I2 ]
4 G# e3 P) i* U1 t keep if v5>0: U% n! J% \ S. g
; J0 r9 u r: ^$ z3 q! ]3 r gen vt=_n, m9 `6 S8 N( [4 V/ c
0 v6 e$ P+ g, K$ H* o7 i tsset vt, [) ?" m' T- i! Z# k7 l
/ ~3 ?! Y: p& k) v gen zf=D1.v5
2 I- I5 S" A+ } f( D# X" }7 K
4 k5 z+ N0 P7 d3 ?! n* K gsort -v1
) w- x. ]# r2 n3 W' Q' M, r" m. T& ~( z. M2 x- e9 F! X; w
gen avol=v7/v57 O9 j$ t# n! j$ h, E
/ m( I) S4 Z% w4 W. x4 V5 @
keep if avol>0
0 q: P' j/ C2 U; m8 n% }6 X+ \ " Y' y4 N- B/ J6 T8 P7 ?5 i3 h* w
drop vt3 |( J& G4 O- g1 G2 F# O: }
5 `" q! X, b1 E1 d$ {: c c
gen vt=_n
/ g4 m& l- s- k, u; O/ B T 9 S0 i" o; B$ U4 I
tsset vt
4 l/ q5 O2 j# S; M
0 d3 `. n& S k, o5 {1 m; \ sum v5 [aw =avol]
* y* D) t0 ]' V) ]6 f% \) F7 F @
/ p" o: N$ s. y/ G6 W) F gen amean=r(mean) in 1: S9 H, w7 {; L
x, ]/ a( s! ~- x- L O * 总加权平均值 amean
1 d: W' O6 a, A; h
J. d% x/ [8 \0 v/ ^! o
& B! g+ i0 G- o+ t keep in 1/240
; [$ `% e" K& E( W$ ]3 L
) J1 l, v5 \& L3 _" p8 [* ]' p sum v5 [aw =avol]
' ]. w. E9 X C& Z4 e
1 n: `2 L, ~7 W6 L7 _8 q gen mean240=r(mean) in 10 s" x9 Q5 I% N, [. m7 k
* l( V& g) k6 H! [3 v4 F *240加权平均值 mean240
. a: m+ Y, m" u# i. j- S' L% ~9 N4 i 5 G# A, x; k, U# D7 `8 r9 @( [. K" l+ ? F
set obs 500 3 \: P- q5 ]' X/ |! q( D" L) J
) A: X0 |" n* k( @: q$ [
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
7 J/ Q+ U6 j' S
/ J" K( t% @7 o! J) i `6 g *240 kdensity(dx240 dy240)
# r }7 S& \7 V- @. o! ? $ |2 a9 g! k% z% [5 @9 v2 N0 t
sum dy240
8 O7 I* k+ A0 H7 V: j/ ^0 Z / H+ [" V% i# \0 _/ P6 a
gen yxis=r(max) in 18 G- U" ]# T3 A& E: m
( K+ N3 {, j2 {; V* z6 ~ f" _( r6 {9 Q gen yxis2=yxis/2) M! w) L1 E7 C. T7 d" i
3 ^' l) Q5 o$ a5 Z, o; X0 C: Z *yxis! }8 U& b+ _( r) j4 u3 r4 [
/ z7 F3 a1 w( c/ O2 R: `4 `( L
gen dy240max=r(max)
$ o1 ~7 I8 ]3 _ ( ]4 t( A8 n1 Z9 W0 i
gen dy240minp=r(min)
: o3 D( Z" Z8 q1 f* s4 C ; I& x) d1 ]+ e! j# c: I2 z
gen vtt=_n
5 y3 d4 J4 R( g3 l3 [+ c& P* [+ ?# [4 V+ ]
tsset vtt5 X: d4 f, S% {: g8 F: C. |* O
0 Q7 ~' H# C, k gen ddy240=D1.dy240/D1.dx240% C/ H: f9 b$ k; i- x
$ C) D4 R6 D2 x3 \( f( c
sum ddy240' W* J# W1 }* r% f
/ e! D# B+ E! W7 s* F
gen ddy240max=r(max)
9 e6 D: E+ D" B+ i4 V& O / N) `8 M+ ]" u( K2 }
gen ddy240min=r(min)- h1 q; i/ Y# f* e! d1 R' c
" T: e) Z/ [% c- e: u, \- l
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
' l" f1 j6 S/ W/ _6 o# S : |- X8 W4 U5 u; N
sum ddy240g
/ Q; x/ x& R8 J; A
; }; V; d. _; ` gen yxis3=r(min) in 1! I/ `+ o+ g2 T
7 h) F, L/ I! U
gen yxis4=0 in 11 r, m* S6 D* J( ~) V' k1 L
4 `1 f D4 n: ^# t9 i' U
*ddy240g
# q i* K+ |$ ^, J # ^+ `$ y+ z6 _
1 s: }1 B9 {7 c preserve
+ `/ z7 ]. X w. R: y% S+ @$ R
* c3 ^; N A. o sum v5 [aw =avol]1 D, o1 a( K5 X# ]1 }
4 }' d+ l7 N: Z9 p
keep if dx240<r(mean)
$ k9 u6 E6 S$ V" B R! ~3 e# L& k7 l
sum ddy2401 |1 P, Q1 o' B
1 Y* N1 k# J, p1 ]1 l4 X8 A4 R/ S2 U if r(min)<0 {$ M3 r7 ~- X0 l
' e- S2 k8 F) g; ]4 _& h2 l5 _ keep if ddy240<=00 A0 x& C* {4 \: x; n" |
9 ^2 s2 R/ g( U2 X+ Q0 M4 ?) v
count" F& y# `% Y" q6 E1 I8 w. W' B6 [
: C2 n2 Z- ^" W, n
if r(N)>2 {
, _/ I7 J; I' M5 R! n o6 w2 P
6 b) U0 b, s, k8 t# K3 F/ N1 a8 S) ~ pkexamine dx240 dy240
% {+ p5 k/ D8 Y$ ]# G2 r2 W
3 {" W: t7 w* b1 ~ local tempminp=r(tomc)
! J( j% u/ b; `3 a+ k0 Q5 X; F) Q4 a* A restore
% }% q! Q$ }1 F. ? k0 e1 [! }# h) H }9 w7 o* R0 a* v4 b
: b2 ?, d( {) [ e X4 a3 [' t else {( a" `( i( U3 ?* ~/ g" T
" n% O1 _" a; _# R: a1 Q* J
di "cannot find minp"
) K: Y3 |5 \9 ~8 [, ~9 B+ [ / v( `8 l- F4 |/ U
restore 6 d3 z% m1 R; D
sum dx2401 B2 k" q: f, F: s3 g
local tempminp=r(mean)# Q0 U& Q: Y2 m, O$ w0 a9 C
k! h* ]. s' `7 u: ~
}
5 Z- ]+ s* o* i, q) E }
% u2 Q, i/ X, h1 i- L& Y else {2 V& j/ }9 ~# F j# F9 ^1 Y
$ G$ l' u! C% i8 O1 A& s, |
keep if ddy240<=r(min)
5 W" F% c5 L+ }; m9 ` b: Q& ]$ @
' z5 R* N: {0 x0 U; k2 E, L sum dx2404 G# j& C* \0 u3 ?7 P
k' X' @1 m0 X3 m
local tempminp=r(min); e! P5 p# {3 M ?/ w
restore
- x7 G) T; ]- ~* x8 j* |8 o }' f3 @* S5 i6 R5 h/ }
6 j0 a! r9 K) ~) p8 I" }! W- R3 E. p, o
* i2 ~ b5 c5 d* M/ j, k' i2 U2 @
# M* B0 z, q# }+ J% B% C( o, P# Z/ N gen minp=`tempminp' in 11 l; w% _; a, Z& f% P
*240 minp
0 @0 y! \) `7 L+ p5 B8 Y: z0 R, G; z6 d. [: ~
) k: g* E; y2 @6 [: v$ _- t: D( O
; ]) M5 C; O3 U! }) ^
preserve
$ n& N6 x+ H7 A
" n. ]* ~" a5 G; J5 @+ r5 M/ c# x sum v5 [aw =avol]
! {- {4 W1 F( `; ]$ Y% ?9 o' e1 n # G* X: a" L* c* b
keep if dx240>r(mean)( T3 ]8 h3 S# [% o
6 |9 I' L" U6 p+ o sum ddy240: t% Z& R1 u* T& M8 R& o
# \. g E9 j0 E if r(max)>0 {
# w, P- A- d1 b2 u1 [7 c 3 ^/ g, z7 w$ J V3 L9 t# o0 m9 X! ~( C
keep if ddy240>=0. W; e% d- E2 W5 d- I: Q
5 i6 Y7 j! R7 X. ~$ }& p- R1 A
count
! e: k |3 w" _
4 L5 M: A* D/ e# [4 U if r(N)>2 {
" U( l% y1 ?8 t1 l! q" o
+ P9 q/ T$ U4 H pkexamine dx240 dy240
0 r# r6 B& v. r* P4 Y) p& m # x; Y% D) E" u, k
local tempmaxp=r(tomc) " h1 ?) s- K3 u
restore 1 h+ Q7 h/ s* q+ p1 i. p$ U8 x
}
5 z. _2 o, Y9 H* p; D+ @ ; O" h! S- K: x L" Z
( @- C4 H) c Q* U! y4 v1 ] else {! _1 M: K) w+ F/ H; k8 G
restore 0 j2 n! C( \8 U: t
di "cannot find maxp"
U: M; b9 ~/ O& q4 [8 \ * `: c! R* R8 t/ i" n
" I( ` c( n* o) s- [* T sum dx240
% i* x6 z# j g1 A local tempmaxp=r(mean)7 I( Y+ t6 L( ^9 D1 I% a Q* Y
# r) J) |3 n1 D- a- g; c9 z
}! X1 y/ p* {- g8 T3 @
0 J ~0 r# p A3 Y( l* L
}
$ u* q# y8 @4 }! Z$ T + X' P+ \2 i2 J! F. X
else {
. _3 w: L6 D, ~4 P) O6 X
! f. T7 a; t9 c7 y keep if ddy240>=r(max)! \- h; o4 [, P/ M _7 T
$ U Q% g5 R5 [5 t' r' ^7 t1 R
sum dx240
* t) T1 g8 D0 s% U+ S Z- [6 |" _7 e3 _$ N6 ?$ i5 V
local tempmaxp=r(max) - ~& T7 N- @/ B; ?& ?
restore 2 e( x8 x8 m% f
}" s: I& A! n) x. Z3 Z: |: K
" z. q/ N3 }+ U& u* D g
% e. C A8 P2 t5 W+ T1 g# s 1 C U, V p, n
* r7 L* } ] d2 f! Q0 @* } gen maxp=`tempmaxp' in 1
& P9 t0 s" T7 r+ x
+ {8 ]( W! A& y! H M" j8 d A *240maxp
_% W" g( [) ~9 C; e$ I5 Y( W 7 o8 M3 y- Q0 ~
L3 ^0 a# D# S% g/ T5 a *-------------ddy240pminp左侧高峰值-----: Y1 Z7 t2 ]( I6 Y2 n) |
/ \! ~1 J) @* y6 P preserve 5 G1 {1 d5 C% X }5 y
, B6 J' b) n; t1 P/ M* G
keep if dx240<`tempminp'
8 d4 x- U+ z4 t+ ^( D5 E " n- W5 w6 n8 W* e
keep if ddy240>0% o: U5 N, D) l$ }( L9 ^# Q
. p! `, o2 k2 Z, g$ U
count
4 ~% v( \6 I$ |. d* U" Y3 f
8 O: g$ u Q) I8 ~. L if r(N)>2 {- v+ x% m( l d& b/ n8 l; X
% q; L- M" z+ @& M! C' c1 F pkexamine dx240 ddy240! x B2 Z0 v9 \ c
! d2 g( f- e0 ~9 V! b# T local tempminphddy240=r(tomc) 6 P2 Y9 k- m# w' f& M5 @
restore
; j1 T* z; V7 D$ j% R2 ^ }
& U; g$ F. C- m6 ? 3 a9 A# P+ ~" S+ Q, O
else {4 E, F' o4 ~- t
restore , r4 T. `& u; o$ }3 T5 D$ V
di "cannot find pminphddy240"
+ f0 T: T% L- Z7 D / _ i& `1 _" N+ S- {
% c( _! ? _" n1 |! X6 |9 X
sum dx240
( G6 O: t6 w) L3 F8 N4 s5 \ local tempminphddy240=r(mean)
G5 y- x# r6 f7 @/ m# p % w- n7 v% Q' w
& y/ |# p" I5 @5 ]. W }% V; [; {( m; X+ u' f% B$ \3 r/ Y
; w4 t% i- q8 d1 |. L : \7 Q u5 v* U1 Y
, f; m! G- w3 c9 K
9 k6 V( @. z; b# t, i
2 M9 K; m$ w- h0 J% m4 l$ T / l+ G/ T4 j" v, {
gen pminphddy240=`tempminphddy240' in 1. \9 Z5 u7 _, ]7 d$ y' X8 x# \
6 Z% @- v* r& \+ B1 p4 W& y. P. y
4 ?4 \- m& j5 r; u0 K; ]' k *-------------ddy240pminp右侧低峰值 ------------------ F; s2 l4 B, o& L
preserve
$ Z0 J9 K/ ^( k9 y; ?8 f
E* U8 `$ W- ^+ B; Z& A keep if dx240>`tempminp'1 ]) Y2 |7 i& {& v) k
" j: c& T9 H6 R keep if dx240<`tempmaxp'7 U" e7 L! P, p- n) N& u
: o+ i% D0 J; V+ d keep if ddy240<08 Z# D3 _8 e" T0 \: g: d; _
* b8 X' |! o; ^% x" j% u+ z2 s
gen temddy240=-ddy2400 ], D1 o% P5 Q# G8 G
9 d( i+ N, \3 g; o2 X% ^# B$ J& L count
7 p2 ^8 H2 `+ N2 j0 L
5 |: d( k+ |# B if r(N)>2 {5 O6 J& c& m2 D; z
- P& v/ k I! M' G- [4 L
pkexamine dx240 temddy240
: q1 V( c% t9 O% H( v- l" U
, w; f/ P F; o7 Y8 D local tempminplddy240=r(tomc)
1 v' \* r4 l( G8 P7 Q" e; E" F restore
, ~6 c/ H1 ]4 o- }4 u. y" S }5 a+ _4 c0 Y" c# A7 {
P% R# ?' o9 h% `5 M4 |( G
else {
( Z# a9 a7 B: ]$ i 1 p/ t: c! ?' M; J) t7 K
di "cannot find pminplddy240"1 Q+ q1 R2 R2 W# |; k
restore
) `7 x* n" ~( q, \1 r8 j' ~7 B1 a ) j8 {5 z$ D4 U$ J" m7 P
sum dx2407 p+ c A9 x* f1 Y
local tempminplddy240=r(mean)
2 M% C' L2 V" ]9 Z
6 s# \" d, {4 a* _/ [
$ B8 E* E& _1 C: S6 ^$ j+ q& B! m }
5 L1 Y( ~! b- ]) O! ]7 T* V 2 `6 {$ i/ e+ B8 G" E. I
/ z# A" B: i4 |3 w# q3 Q
" b4 U7 n3 Z) T. ^ d
( G! m9 u e$ ?- D; O) \3 Y
' _! c1 J5 t6 o% I- Q' \+ n gen pminplddy240=`tempminplddy240' in 1# }( K( j% C. S u" H- _
* f, o/ i* d6 S3 z/ W1 j *-------------ddy240pmaxp左侧高峰值 -------------------
- X0 T4 ^2 a/ i1 Z 6 L. \7 `7 n- E! l' \( E( l$ Y2 h+ v
preserve . w- F9 |: K) z) C
. D' U$ U5 y+ J* g# S" U keep if dx240>`tempminp'
+ k( I8 g% u! g+ J " ~& c9 M& G9 S1 N
keep if dx240<`tempmaxp'
2 A5 z3 p' L. m p
, ]& g; k2 N! H$ O: r% } keep if ddy240>0
: V! w' f$ b4 J9 J/ `( ?: { count
9 h0 ]3 ~( v( c/ X# k4 y . Z3 W& D2 o6 F5 x
if r(N)>2 {" E1 i- x. H. U4 ~" V |% N/ i/ S
6 Z' U5 i* M) f+ y1 o- l4 k
pkexamine dx240 ddy240
; J: i v9 j: B2 D$ f 4 M* C6 A3 f3 }; A% o. A. @
local tempmaxphddy240=r(tomc) * e/ U1 _1 g5 E$ N
. O( P, T5 o" M# Q$ E restore
7 H5 P7 i+ ~4 D3 Z3 } }/ I. P7 W# o, S9 x# R
/ e! m, M, \4 p, t( p! k6 {, |9 S- f else {
, i: Z/ F \/ e
6 V& f$ x4 J0 W$ ^! x- ~2 B di "cannot find pmaxphddy240"
6 T. s7 ~% H' ~9 ^8 U* Q$ t$ O# } restore: b0 R% \8 W( k2 [6 f5 F. D8 R! i3 G
8 j6 L# p( Q) T' ?) a2 Q% W ~' ` sum dx240
; A: I0 l3 M* ]5 x7 z4 _+ q local tempmaxphddy240=r(mean) 8 G( F: ], t' ?; J) c: w
( Q. F) u M5 q g! ]$ n
9 T8 K8 }, \ D }
0 @% K! V' R* A" I ; ^% s8 A! T5 \# @
6 b/ X7 v- A1 k* V' Z
4 ~: v2 F5 ^2 j* M' [$ S
' \& _. z9 L. p/ l5 l+ p
2 J+ f0 l2 f, w& J" f: z: U9 L9 \
" C* M/ G# M! `
gen pmaxphddy240=`tempmaxphddy240' in 1+ q; Y% u2 Z. ~7 h! e3 A
4 [7 I5 W4 v& Q' z$ p9 f$ }
1 A! p! d4 g/ {) K, e4 O *-------------ddy240pmaxp右侧低峰值 -------------------# ^$ t( W, {& B) N# B& [2 `- q3 x8 T
8 V3 T4 }& G) Z2 E; E preserve * @/ a& @9 N; K
8 A1 D3 S, _- Q) P( t! K- q keep if dx240>`tempmaxp'- l) r7 L: @! O. I, I( E6 T
+ }8 U* p, z1 k' X gen temddy240=-ddy2402 B' X% h$ y$ C# T8 o! H2 ]/ U+ R) H
) t" }% ]- J* t keep if temddy240>0( E7 W* N' m/ n
! z! V7 R$ t$ c I2 x count2 u' q, q3 j o. K
) j+ V4 m" A2 b- [1 J/ q0 r
if r(N)>2 {
, d C F* ]8 z/ `9 i/ y: E8 t5 O
6 N3 P7 ?0 @9 I pkexamine dx240 temddy240
8 ?& J1 V& p2 q( T8 e' P7 T 2 G& ~* r+ C; M b6 Q# s- F
local tempmaxplddy240=r(tomc)
8 _+ E4 C) ?: l0 B8 S& d& o restore, U+ C: A, \4 Z: m
}( p, g+ `% ]) o0 F
: N3 Q* X$ H) ^7 D) S6 Y
else {" f* x( M& o% F% o
restore$ }' A$ N3 N5 G/ l, F8 p" h( T) h
di "cannot find pmaxlhddy240"8 [: f5 } b: b7 P W. I
( I, m% m6 W; G, S- c, Z6 ~/ O
0 [( H- [* [( ~1 s3 e. v8 E
sum dx240" v/ c. `7 B/ ]4 s u+ r
local tempmaxplddy240=r(mean) in 12 X6 J4 _, O- f
W% w3 f0 h( w9 y- n( ^) h6 A! s
& C% K8 m/ d h& C9 T3 p- }
}
8 J1 `4 y, _! [: |; i/ E* p, V
; J$ q1 {! P8 S' F, T2 a1 B8 l
* ~) ^; C' k! ^+ `0 q' N
2 S9 y' _8 I. j- J8 K; Y
5 X" y1 W, P' N+ l
' ~7 W7 [8 ?( K* @; h* k
" [3 L$ W) ~ x7 a: z' b7 { gen pmaxplddy240=`tempmaxphddy240' in 1
}0 t/ e0 H2 e& c 8 o! @( G( O7 \) h) N
*-------------------------------------# _ Z2 R* Y' z
/ ~& W& o7 @! Q+ G* @ gen price5d=v5 in 1/20/ A8 D4 Q6 `2 O# y9 C
; F6 Z# j) b3 |2 A: W+ p
gen price5yy=_n in 1/20
6 } u) n5 f) a' T/ S/ v ) @( l$ @8 G( W5 N7 l! L
gen price5y=price5yy*(dy240max-dy240min)/20
. C$ B; f4 L- T- K) B: f
* k& w' c/ ^* a$ e* J. e+ u *price5y &price5d. g: ?6 q4 a ~! w2 @
( @" o8 w7 j# c* G/ U* |5 @
gen priceny=price5y in 16 N; A' ?: _7 X: J% M' d
& R4 M2 F, [) P. J! l
gen pricen=v5 in 1
- S! V. j5 \4 g8 J5 O3 K* p+ g( W4 {3 D( U0 O- G. A9 \
, M/ T! o: Y0 h: q% p8 k# q# r' _ j *priceny &pricen. g s% z- t: n8 K. e1 @9 m c
6 X2 b) z) O* k- @ , | v2 c: u% B" D. C- R
*-------------------------graph------------------
: A# x0 O1 f0 t( s& [! |: u- j/ o+ p; ^
, Y6 n8 _- p+ p5 v% Q4 @' Y 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)
% j) v/ U# g& [. `% L/ s
; b# {: b5 M4 J7 m! o; s# Y/ E7 c* ---------可选项目----------------------4 F$ ?0 E9 a: L$ j; x; U7 o
- N/ w7 d4 N- _6 M8 a}1 }; q$ B+ B4 E
end/ c) t$ ~9 K5 Y
|
|