|
改了一下,这次运算应该没啥问题了; B; _- h* F: r' w
0 W) l$ i1 A0 R$ X- ^# g: b: t* i V
$ F8 ^6 i; @$ n3 r# l/ j' [6 B$ e0 zcapture program drop hello
: L# q t7 {# | s( C* D
$ @0 h$ j- j) I" x' I) X4 h, _program hello( H* Q! j" W5 K T! F
0 G* G7 L7 X1 q5 Z quietly {/ o1 a6 Z0 P* B& V/ v
" t0 d/ a$ c k5 M3 wclear' w2 Q4 A# |, p/ }' Q
9 C& B8 n# _3 _6 s% ]: c% ccd e:\finance\stock\20110101\source
" _" c' ~2 t2 u+ z3 ^0 `0 e# w1 [, J& [6 e5 @
insheet using `1'.txt6 o1 }, x7 |; d$ g
4 m, e( @. M9 \% z4 |
keep if v5>0+ z1 L; {, |- d0 E4 \6 e' g, W
/ F8 v& n" s- r7 Q4 \
gen vt=_n/ y) j) T6 h( h( T; T( e
" O# U" n9 z4 D/ V tsset vt
) B5 I& |" H( r6 g5 B
9 `; r5 A/ T9 Z) n6 b gen zf=D1.v5
" g! c: g% ~' n7 \! H. \" W9 Y+ A6 J4 [+ _% Q! p
gsort -v1
6 R- X6 l3 i, Q+ Z1 K
5 m( S5 T* B; L5 R$ H% a% `( N; I gen avol=v7/v5" Z6 Z; w5 \: M8 O' c9 t
6 Z1 o, p, p) ~0 `3 m keep if avol>06 d+ P- r9 i/ }# ~# s. o: |
# u; y( l, T) V* Y% S5 @1 h
drop vt
/ C% [* I6 l0 `; B7 b/ Z9 q# x9 G
8 F5 G! K( l1 P4 p( P gen vt=_n4 C3 v$ j0 h* U5 A: r5 x* M b/ U
" q& p! C0 f! I" @0 e+ G+ p
tsset vt) X) e3 _; L+ p1 D O5 D' Y
" m+ K3 W+ Y' X1 s: i+ J
sum v5 [aw =avol]4 B' F7 R7 a/ Q6 U3 Q* X! h
( S8 c/ K( @ R gen amean=r(mean) in 1% \1 k3 l- V) p5 v; Q2 f6 N% M6 G
4 A# N$ ^$ A2 h$ I1 {" b, g9 M
* 总加权平均值 amean" z/ z' G) m0 m5 C3 }/ P5 ~/ x: b
: B" i5 R# Q1 Z8 w5 G n0 `/ d
' _9 y& z e: T; ?: g3 |3 k, @+ y
keep in 1/240
6 l, z' s+ G* v
b( w+ @ G) R& w; w sum v5 [aw =avol]! h, m, n7 h! m
9 s# @5 M4 q1 e7 S gen mean240=r(mean) in 1# E5 s: I4 J. i- Z/ s
; v/ |8 t \ ~5 T6 C
*240加权平均值 mean240
6 u# \3 L/ @. C8 u 4 @) c$ w3 [6 c! O2 \+ x
set obs 500 . E' p+ F C9 h3 v" b
" B0 u0 i5 w9 ^, F
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph- `# b0 z' i# }* Z- n# R
" I' h" I% x6 P, Y1 k
*240 kdensity(dx240 dy240)( L' T: p% b* O2 e4 Y ?5 J/ l' x
0 @7 J( P+ ?2 X/ @2 B: D sum dy240
[4 e2 b8 k( M. K! E3 V # Q6 \, O: E( U; q1 |" k5 p; @5 ?/ w
gen yxis=r(max) in 1
9 d6 N* [4 m+ w # t, m* n- j2 m0 I0 S# K
gen yxis2=yxis/2) w0 `. |" B; z9 }& ^7 [$ X0 R
! C: d( F- a5 C s5 D0 N7 U+ y+ N
*yxis
6 N/ p9 i* P; \2 L% d
7 \. [* @ t( v6 b gen dy240max=r(max)
( u/ i/ }) T& b7 M1 I P# q ) W/ O/ w+ e- B+ r
gen dy240minp=r(min)
6 v& Y- C5 k8 `& @3 [7 d, M) l. l % ~9 r z% e K) s0 G3 r
gen vtt=_n
% }/ h% x+ X; m: \3 ?. e& c: C- r7 U \% p3 O# |) V- \2 s0 a
tsset vtt f% y# W+ o& t" u4 q o
* q K7 I6 ?4 e1 n3 E, l" N gen ddy240=D1.dy240/D1.dx240* Q1 {. M6 q; c; g2 ?5 h/ r( u
( i/ z+ i. M# E' F, ~3 p/ @, y4 D
sum ddy240
+ t7 h* H: n4 }) f/ C9 _9 g
% t; z* G" L# {0 d+ ~ gen ddy240max=r(max)
. c- ?2 J$ k) P0 S ' Q0 a8 p# W; B# e- B; _9 e, [
gen ddy240min=r(min)
g0 O6 z! z! Y8 F- o0 S& X ( ]& B/ c5 [ q2 y: @+ F+ S6 O
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
' V9 m3 r& ^ V* }1 {3 Z
6 E/ Q+ v8 V r( J) |. {6 k sum ddy240g
: D5 H1 c9 l9 m& I, i. q3 x 3 l& J8 r- z, l& d
gen yxis3=r(min) in 1
1 k2 F8 K$ R; Z/ }2 m& t B
6 p" w3 c: t5 x! q7 z; h' K& D" I5 @ gen yxis4=0 in 19 u0 n% z D8 |1 k$ M& F
* |8 n9 j8 Q* _. d
*ddy240g
# X; q0 G- a' o3 i v. D8 d
- x; z+ b3 A4 G; q+ P# M
$ S: @. a6 K3 k( O9 { preserve
6 F2 i n6 i: G; V, X/ O! {3 g ) T6 B, g ]' H* g x/ X5 A3 B
sum v5 [aw =avol]8 d: l5 e+ U7 f
, a& n/ W$ Q6 G4 @
keep if dx240<r(mean)
/ M/ M- F8 M. D& L/ }( |
9 O: S+ M0 A- r2 e- m- P4 Z- F sum ddy240& N- O1 w1 U. @1 t' K- w
/ I0 @8 G+ N+ r# I if r(min)<0 {
! _7 h( y$ b; j
( F) I6 \1 m8 ^4 b( n' p& w: W4 k keep if ddy240<=0
) I# a8 K# o6 e/ K& ` d: p7 Q
7 d$ u( g0 y8 k* u count# y7 Q- n" Y7 I2 X4 K2 M
6 b# ]/ h; C1 u6 p+ v4 | if r(N)>2 {
/ x+ f3 C4 E0 O# n4 y; e! h
# c* `" b1 Z4 F5 P# l pkexamine dx240 dy2404 F8 y+ z1 d' b0 F3 [ R/ `: A
' n P: o3 j5 M8 I$ X local tempminp=r(tomc)( { Q& x$ D/ N! z9 h1 E
restore
* k# E- g" f% j: a: n8 e1 S }7 {" E* W4 j$ \5 B% K+ K
1 h y4 C4 G4 f
else {
' ^ ?2 L+ B' i6 x1 q, a6 W
/ W r, }# K/ y4 j di "cannot find minp"
& T: R# x& h) \& l : g/ ] q6 p. y$ b
restore & O9 g1 f3 O: U& j+ R# E
sum dx240
+ R! w! O" X" H local tempminp=r(mean)3 O$ e( c% r- ^% f m
: d' V3 \9 n8 D" }. q }
S; i" R3 c. ?% E& w; B* E }
! Y& @/ P( G1 ~/ \# k3 n else {
1 Y0 F; w6 a) X
; Z5 \2 [) L: D( e7 h3 ~ keep if ddy240<=r(min)
' i& l4 _! y8 c6 D " V4 t/ y& J. Y3 x1 V5 A; B m& h) J
sum dx240
9 @. ~( e0 Z6 A: ?8 X$ Y* c " Q# ^2 t' W3 V( I
local tempminp=r(min)
# _% b; ?- D' z7 j4 h" I. {* e4 I restore
$ D9 Q: O. J1 K* m+ {9 Q% T }- X" ?4 U8 F w- j; w- X. m' o' ?
1 J" Z" g$ S$ {- O: `! H/ b, F% G
# O+ L% V2 s- z; ]; h" w$ y+ B' U0 U5 o3 e8 s
gen minp=`tempminp' in 17 x4 q& p4 F; n6 n- u
*240 minp
; G. F* L6 ^7 ?) E& A! m0 d6 [9 g& v0 a5 ]
. q5 ]+ S% o- ?4 L
; @& U6 I' k7 [6 V
preserve 9 ~3 O" W4 F" J
% h/ {% }4 x* F sum v5 [aw =avol]
$ B; U3 I l6 ^ t( {6 ^
* G( y, t$ Q* M keep if dx240>r(mean)
U, P n9 I6 x8 M1 L6 P' o2 A
. a5 u) t; S+ o1 x/ `; P$ Y5 `7 Q. C sum ddy240
: K9 e* |6 J- M: l$ z9 V, h5 X
- v9 V, |8 Y! G if r(max)>0 {
' i% F/ d+ s9 ~) c4 h1 Y
( m1 o- Y2 K: k' _ q! {2 {% ` keep if ddy240>=0
4 l. ^) [# S' ~% e! K
' j+ F- u' j0 m/ N count! w% P# a' o' H9 N; N( X* c t! V
$ e$ x7 S7 `) [5 m if r(N)>2 {- A( l) K% _6 }3 e
$ i b5 e7 ~' _' t8 ~9 U pkexamine dx240 dy2406 K( V! }4 H* N- G3 S0 K
; x; V% p5 X1 D7 [- V% t) o: A
local tempmaxp=r(tomc) 9 k D3 @+ G9 l
restore 9 E: o, H/ p2 K: T( V6 x
}
- |& ]2 f& e! C: h: W 4 ~" P A. ~/ ~8 }, M) J
$ T( B. j1 |, k9 b+ T
else {2 t! R. Y2 M+ }: t! P* _
restore
( f8 [5 u" m/ }) z9 y2 s di "cannot find maxp", G E. H4 ^5 `7 K/ O5 l, i8 V
8 N8 U' o$ S! O- B4 X" d& f " k% H! _( X. v. y4 Y( r# R
sum dx240( P" L& ^; `5 N6 G) J) ^* j2 z" ~
local tempmaxp=r(mean)
9 {2 C. q6 |* x$ F, C* t4 H 0 @2 Z) x, Q. g2 z8 m
} i! C% s) B9 W# x
5 `' J* Y$ X- C! U% S" u
}( ~* N7 `( E/ f9 B: X( b
Y+ {3 {. j# |! h
else {; m, s @! K0 E. z
# _4 x/ n1 K6 k/ {# K keep if ddy240>=r(max)4 ?) u0 h4 J L
$ m( o; [9 y7 G$ E
sum dx240! Z% U( d7 a9 a9 I
7 i+ _/ B' J9 {' x, [3 F8 r local tempmaxp=r(max) 3 z* z) z2 r3 f! f5 t7 M# a0 W# @
restore " d# N1 H" O- Y4 k
}' S, n Y, `* }, M# Z4 |* i. @
6 c# y$ f* c+ x ?% v
/ o. A/ S6 L3 O9 |! W! |7 g2 j
1 x p3 p& g/ k$ o& T- A3 Q! Q% _: E" o
gen maxp=`tempmaxp' in 11 j, E3 t8 o( w; n) [
9 a# {/ @3 e5 A) }& V3 I5 Z% y0 |; t) J *240maxp2 k% C$ u0 @: N/ H
6 _9 n$ r5 ~3 k2 l# F
8 O$ B' y2 D4 Y) I *-------------ddy240pminp左侧高峰值-----
- P8 G& r- [- q; c9 S
: O/ F* X) F" v. R6 F preserve 1 S/ q5 {3 J: Y: f
8 R4 A0 q6 l" w! z, V keep if dx240<`tempminp'
% N, q/ _: l$ F& v4 {
% t- J9 v) x* V, j/ H; M keep if ddy240>0
" l- r m% |3 }) \+ }/ e h* J- M " t( `$ l; G3 l# E
count
' R4 f! T+ R4 A7 G+ C+ K 0 h. R, V; X' T: K6 V* |! ^2 |
if r(N)>2 {
/ w6 D% c& ]7 k) @) k. C : c3 W0 h' Y9 P
pkexamine dx240 ddy240
& j9 z/ u' k5 o5 y% [
( m) V( F: G! @1 U& H, f* v local tempminphddy240=r(tomc)
& V% y6 G t! a" g restore
+ M" p! b6 e0 y% Z. D) [+ }. p }: ^6 Y+ ]& Y0 ?$ I& g% f* t
( L; I; I8 _3 o; \ E
else {9 I6 r7 i+ _/ g& x: z1 e2 j2 p
restore ! j3 q X9 l1 K3 N/ j d% W9 z
di "cannot find pminphddy240"# T- `, a1 p5 x" @% m G* j
$ ?8 Y% w. K" T- z2 T+ N
+ m. ?& M8 M7 b1 v( s0 w% c* T
sum dx240
# O4 P I, P/ N- N7 m+ ~( A local tempminphddy240=r(mean)
, c1 a6 g L. J! x1 q
. Z+ {! Y# k. M- e+ Y
: N- I/ V6 s4 b) k }
1 Y( z' G5 G/ Y- W8 M
5 s9 q5 B. H3 Q 3 W. z, ]# c7 d, {2 q
* [* V1 f. T6 I. t7 b 9 o6 w+ R! _, f7 F* b. ^
( R5 ^. |3 f6 L3 P" o: o 6 T" a* a; m' A) ~
gen pminphddy240=`tempminphddy240' in 1
1 V) p8 E( Z7 @
. s# G1 C. _9 I8 O. v & r; b9 y0 l, G' r- \
*-------------ddy240pminp右侧低峰值 -----------------9 V" j, }" v7 L5 J
preserve
4 F7 s8 U& \; P; i3 m& M5 h * Y1 \+ w% @; C
keep if dx240>`tempminp'0 l. T1 {& l8 B+ ?
( ?$ r) |! ~* B
keep if dx240<`tempmaxp'& G3 L& f, } a' s8 I7 W
/ ~2 z) P/ d( h* f% e1 E keep if ddy240<0
) n0 F6 T( |) I) r3 B! ^( p1 C
& h( ]6 a9 m8 G2 Y& W. v7 X. o2 P5 m gen temddy240=-ddy2400 k3 G4 K0 ~/ c4 s9 s2 X
6 F, u8 W4 n) j" |4 b8 e& R
count
$ `3 P1 ]& K; M' ~; Y9 \9 I * O; Y$ c a& f6 d
if r(N)>2 {
$ j. d8 o# x' o" e4 Q$ W$ I 6 k% Z) t4 v5 d
pkexamine dx240 temddy240
4 @* k1 `9 R8 H& f
' x- g% f V7 ]- L& b/ _ local tempminplddy240=r(tomc)2 w4 y* I0 j( y% X8 A, Q" V- O# o
restore7 m8 n+ x; q6 p0 L$ p2 q9 f
}
4 O( w" E- R( P2 z( j9 L5 M& B
2 L" F+ U$ ], x0 u3 N' q5 V else {
. l, B! K1 e1 f( i7 I ' ?: q& [ E$ y5 U {
di "cannot find pminplddy240"6 l J7 B6 ^- N) f
restore& N" Z; l1 h q8 U$ \7 D( s$ P' D
6 O1 X' f1 F Y& p" C sum dx2404 b( R( Q8 b, d1 E9 n
local tempminplddy240=r(mean)$ a5 J0 u; w8 ]2 @, f
2 n) U& R/ b2 k9 c
5 C% k: A0 F1 K0 J% B( N" c/ B" H
}
( {* ]0 T* D% A% I1 ]1 w( u/ @
% E7 h& i0 K, n2 b8 Y $ r( ^" }; [9 }4 I O
/ K B0 h' a+ W3 v" [% ^
4 |) _4 X( Z4 K9 o1 O4 N7 H
$ t( y' i+ ~3 M |8 r
gen pminplddy240=`tempminplddy240' in 1% ?3 M2 E- l7 k& E! N) i- W
! l( E% X9 F# J6 {- S) i/ M
*-------------ddy240pmaxp左侧高峰值 -------------------
9 D3 U6 M0 B9 T! p
4 W' y/ {/ y( T( j) W: \2 Y preserve * Z& Q* [3 F% k2 d; J
5 p* i% y* l# Q( p" i2 W, P keep if dx240>`tempminp'
6 b9 d9 U0 K8 X/ o$ X, c
$ t! C6 J6 O' L4 S keep if dx240<`tempmaxp'/ `- q- {# `1 w, N7 P( t
" f3 M8 f/ X, i" ~9 b% n! | keep if ddy240>0
\; F$ I( i& s) Q1 X3 z1 E+ d, Q, f count
7 `& Z( j, u1 t. H ) d0 ], c! Y" E
if r(N)>2 {% \$ l4 C, {1 A- J: ?0 k( d; A
' a1 r9 ?0 J" `9 E7 { pkexamine dx240 ddy2409 B# z# c. ~# Y, j$ G8 w
) Z5 H; K F# f* k) h- r) c% d9 P
local tempmaxphddy240=r(tomc)
0 g2 _9 P; A X9 \5 s0 z 8 D% Z. _. ~1 z# X6 R
restore
7 d- `4 k7 }* F( u+ q1 K }
% P1 ?4 d9 d, k) ? , W: ~; d9 ?; l8 r% c/ M
else {
. J8 S* y2 W" N& Q2 J7 R6 i4 A$ Q
E) C* [3 u3 ]. O% n- ?, Z3 |- ] di "cannot find pmaxphddy240"
' U9 F# ~5 C7 Q3 K: g5 s) Z restore g1 h9 a4 l. J+ Q2 [6 G& H
& q9 g- d; M- z t" q4 L
sum dx240
9 h6 o& z8 a! x local tempmaxphddy240=r(mean) . F# [9 H0 Y* F0 E6 j6 I
U' q& v4 R7 B( t0 z! A/ J
% S9 R" q7 K4 Y3 o+ |! O8 Y
}
# Q. C9 n: x/ d) l) v4 Z $ Q. ?! L, w% L: M
1 l! ]0 y8 f9 S
" T# K# }2 G& F7 q/ I
1 _! X& D2 Z/ M+ `/ H8 V2 @" S
1 z9 W% T' y' D! B$ a $ |8 U% i' h' n2 L1 `2 V
gen pmaxphddy240=`tempmaxphddy240' in 1
: g" k: z) Z2 X - Q. t' S( y: L
& V) w- k8 Y. B! }+ O& {
*-------------ddy240pmaxp右侧低峰值 -------------------. m5 a6 l' P* V1 p
# o$ F7 ]- D* k- u" E# [
preserve , T; \3 l( o1 E$ Y, F: y4 ?4 C
) a t7 b+ [8 y0 q% W keep if dx240>`tempmaxp'
9 _+ B' C2 j% o0 U% }2 b1 a . R/ M3 {0 R! L7 y2 k: R4 F
gen temddy240=-ddy240
9 s( o6 g1 Q b : K; V3 ~4 f3 I
keep if temddy240>0. e' z- W, S1 j0 I/ c& e
$ v4 P: v4 m, E* |* Q0 i4 I
count
2 e1 f; H3 U' [$ }$ T& c 4 P( G3 C2 w* U. j( ~+ l
if r(N)>2 {& _- n1 k6 h- h" ^) G
5 L& B* @/ R1 Y8 z3 D" b' ~4 ~
pkexamine dx240 temddy240
' R# x7 @1 R# a' J6 _ / Y) ~2 |0 W1 \' I
local tempmaxplddy240=r(tomc)
( X: I1 X8 Y: `9 n) g restore: l6 K+ U e) s' g. _
}
# R. `0 E4 [& \# h, v" d* I( T 3 r V& m; A/ k# ^9 i ^3 w
else {
+ K; n+ o) d5 r5 V+ Z restore
$ y" k- M" a( ?3 B2 _! f8 D L di "cannot find pmaxlhddy240"# q8 C6 H e% q) G$ P" k' ` D
9 Z) W. t. u8 K3 p6 G) C z6 j
: q( z, v, S, y sum dx240
/ ^* Z7 e# u$ O# K7 h1 \ local tempmaxplddy240=r(mean) in 1- T N7 a8 f; R. H2 r4 Y' l
1 ?7 ~* p' z4 F6 i6 P' _( e$ L$ i
' b& g9 |- {3 |$ y% O0 O/ y4 M
}' ]& O6 F8 U# m' k K) w
& }' _2 A5 |5 ^8 m3 Q5 p' h
* ~9 B: M& T3 t# j2 d1 p 5 Z% }5 U' L, F6 f# N* @) X6 ^! ], K
& M5 v) U0 n; F( |/ j0 o% Q
4 w- o+ E% x: J* Y+ @ # y& k. g W) r `$ O' Z; H' f1 z
gen pmaxplddy240=`tempmaxphddy240' in 1* W' Y4 w5 ]& U' [: Q: D/ _
8 m2 g1 z; D. w& e/ a9 G *-------------------------------------
+ \% m/ Y C9 D) n0 Q% K
: X: Y5 R3 U1 c/ e2 `$ J gen price5d=v5 in 1/20; U t& U' J: W7 l, Y
) p+ S$ i1 W) N* c M b
gen price5yy=_n in 1/20
- Y; T+ F7 K8 K % N2 u- A6 {/ k; G: }
gen price5y=price5yy*(dy240max-dy240min)/201 V% E: T. K2 y
1 }0 h; y- x; Z7 K
*price5y &price5d! f; u* D. z6 u: r( w1 d4 B' s% G, \
I7 L% ~* k2 O! e6 B gen priceny=price5y in 1" N/ y% ?7 ^7 ]* r& e
$ z+ r$ r/ V; K- \ gen pricen=v5 in 1
+ F9 H8 ? O9 l; t
+ A% V0 }5 t4 u( [, y! g' c8 c$ v9 k2 A6 w % x" C" r2 f9 I- c8 [
*priceny &pricen
W7 D6 W6 K! i& C+ d
7 d9 s. {6 m# ^9 N* O6 C & a3 I% y& X& `- e3 R+ {* L$ C
*-------------------------graph------------------9 P' S- k! S9 p. ]
& S) W7 y" L: N- P' [7 F$ s 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)$ N) T; w. e O% E
, b/ W) o% p+ w% m0 p7 [* ---------可选项目----------------------
: ~7 B& ~+ y. Y' l% O; ], d* }7 v1 f p6 L# e
}( B: v& c8 I5 l# r% l) M8 h& i; V
end
$ R& Q+ h# H. [) @ E' l4 d+ y |
|