|
|
改了一下,这次运算应该没啥问题了" g {& I8 y- u, b0 w- s! `
" W1 [* E# ~" }( g
6 R; X* f. I" tcapture program drop hello
1 O v: ]$ X: |
9 ` B! O, ~, {0 a: R! i/ Eprogram hello
3 |: K3 A, w$ z
* ^7 E H% _8 A- K quietly {: x1 L) S! @ H$ B; J y5 G
( r4 [6 h9 D" a6 F, w& Sclear
. }5 Q7 t; R; c: ^7 E, f
- j; _8 d0 x y9 y7 N) ^cd e:\finance\stock\20110101\source. v; y/ k" ?. m3 \6 h) ~
# Q8 G/ |: e, p8 i3 d
insheet using `1'.txt6 C" r, x. m$ M9 N6 W$ B* _: ]
& n$ {- P/ L5 Y& u; @* @' s0 D% B
keep if v5>0$ i+ t; ?% z1 }9 D& y
! w0 @9 S; C* F6 v5 K" f
gen vt=_n+ u5 l# v3 x; _3 i0 Q6 r/ D
& n4 V0 A) k5 R9 C
tsset vt
* E/ \# M1 A* u4 v6 y d
; J" B0 `; A6 {; E* k/ Z gen zf=D1.v5: M" j$ t& `( L3 r8 w
& a j5 C1 R+ v
gsort -v1; _. [8 z0 _' f! |
) P% D' j! k8 [/ }0 n" W
gen avol=v7/v5' n6 V3 h9 S# @' \$ t/ a
, s2 z5 M- k* I: N8 T
keep if avol>0$ p/ z$ f& R7 G! P
$ F! t4 u! X, z
drop vt, _9 l: R0 B: s& i- M
4 L# @0 T$ X' T! m gen vt=_n
& l4 p' a7 {8 J$ g) C0 x7 x* S / y+ m( s9 X( N1 d; C$ T4 Z
tsset vt
# W. M) o: m4 p T5 q1 q7 N4 p : {$ r) f( e* h8 M8 N
sum v5 [aw =avol]5 g! K& Q' x, _0 F/ F
. ]; I. q. ?4 z [& f5 L9 V- K
gen amean=r(mean) in 15 I$ _6 S- z. J! P$ K3 _* ^
) ?8 M9 c- N2 B" A* u * 总加权平均值 amean
" ~% ]2 m! u. n " H' S) L; p: O/ W
- O. F0 _- K/ b( U
keep in 1/240
4 q- D, @$ j+ B$ u; O% ]2 @
) ^3 M% j2 J2 D6 [ sum v5 [aw =avol]: O! ~9 o* N7 p( ^' w
" e' v# n5 E/ j b3 f M% I
gen mean240=r(mean) in 12 Z9 w% x5 V- b- A1 {4 R$ P8 d' G, |
+ u: J' _. y- k
*240加权平均值 mean240
/ A2 K, j/ D! F5 h8 i6 S" M
- O. k# D" Z) S3 c4 C set obs 500
8 _7 c$ X% b0 f+ O; T P- D ) j6 i: z" P9 B( _3 Y
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph- b; c& `9 m1 _" Z0 i2 ~
+ V* ]- N: u S% g8 D5 w6 K/ L, m *240 kdensity(dx240 dy240)
$ U6 r. J* e' @. Y - T! b& C0 t) T+ B% K7 R
sum dy240
+ p4 }; v) F; J- H0 C
, m' n4 m# |# n9 G1 X0 G- U$ U8 J gen yxis=r(max) in 1
- E6 m9 \/ a) S8 P8 P9 e
, c$ y- k8 n. P8 u$ ^' Y+ K3 D gen yxis2=yxis/24 f! a& v+ @3 z6 f& f
6 j" r c8 {: W
*yxis
! R% J$ A7 J- `" X8 ~: l - L7 C5 k+ L! l0 x+ Q
gen dy240max=r(max)( W' g* E" r* y6 U7 {: I- k0 v
/ S z* d6 g* Z6 i$ c- ]$ C: e
gen dy240minp=r(min)
" ^8 Y8 M6 q o6 s$ P( W/ ~ - ^, k2 `) h* b! d- G4 M; F$ O
gen vtt=_n
9 ]7 k: g4 V$ s) g3 Q* {7 d" s9 i9 R8 {9 `( v- ]3 ~" W
tsset vtt
* E2 t4 r7 N" r6 o% ]1 g: L: f9 ^4 z1 ^8 E! O/ C% D1 e3 _
gen ddy240=D1.dy240/D1.dx240
! ?: G1 O! L- F7 }: @1 B
( m9 c" j o, u9 }, k sum ddy2409 D. }$ l8 |7 Z* \
% Z) z& p7 C' j. v9 B4 n' L) ~
gen ddy240max=r(max)
8 ] o( q) ]1 R3 U& ^
; D0 H( E& X, k5 ] gen ddy240min=r(min)' p' P& U/ v. |+ o# j$ L8 O
9 g! Z4 t" y9 a6 j4 [ gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
, o; G; n- Y0 D8 o
, g, j( _6 @, E sum ddy240g
7 C9 ?( ~; m& G* r4 e) C 0 G: M# ^- P# z( f
gen yxis3=r(min) in 1
! E3 b5 g+ T2 f L. r" |. |0 L / r7 ]+ s; Z/ X( ~; l- V P
gen yxis4=0 in 1
" T) A9 R1 v. w7 a% ~8 L 8 } Q0 `! @( I0 Q/ Y( T
*ddy240g
* ?. u5 P; f6 h* `: {
; m& M# `; _( `4 h1 V& [ 9 O' L: S7 f+ D' x" p- _' C6 T
preserve
# V1 x, e" P4 N' l/ Q* q% O
w: @3 k( H1 X, K- v& w sum v5 [aw =avol]
5 I" _9 ?& \, B) ?& Y" l, V8 {
/ x& `2 l/ k. A! g( T5 m$ j2 H keep if dx240<r(mean)
. x6 j9 C1 q0 j! q |
' D- g: a X M2 j5 m2 i sum ddy240
0 G9 x \0 i& e: `/ c" a/ m! n/ t
" z D+ e- R3 W7 H! o" \ if r(min)<0 {
: U) r( K+ J- B/ U/ H; ^. C
+ O6 f' \* T s$ B( w keep if ddy240<=0
% a1 F: @* r. j* K8 v, W 5 A' C% Z4 D# `: X! g
count, b2 [+ k G( U
- t* L( o) E7 K4 g) K
if r(N)>2 {) ~! \" l' `7 f% P! P
* X* D9 R! B) L- q# w1 O pkexamine dx240 dy240
0 C a) f7 L {, k 9 A K4 w3 N' `9 r" \" f2 w
local tempminp=r(tomc)
2 {; Y$ J4 y3 m* f7 k* ^) u restore
% t# z3 a# ?# O `' y }
: L1 H' B) H! g& p* V: z5 `
3 P! a7 Q( A8 ~+ ]0 y ?* d else {
2 p% P3 ~$ i$ i" P$ \) e% I
! y) L2 q. T T5 [9 u; X! K! J& | di "cannot find minp"1 S' B( M3 y n! F+ |
- Y9 |0 V7 F# ?2 J) ?' O
restore + ~$ ?2 q- Z1 j0 [8 ~/ @
sum dx2407 t+ H+ t4 K& U9 S0 [
local tempminp=r(mean)& M$ _, \5 z6 e8 V1 g
* L6 g. v, t) B. e n) J
}
4 ]" ~ M" V! x3 e }
* o- K: f) X' ?- t# E/ Y/ y else {
0 u- _ a7 e0 w- f8 r: Z+ M$ {# G$ U2 z m
9 i; L# A! Q6 z6 L- j keep if ddy240<=r(min) k! J2 \9 V, L1 C0 c; F
3 J8 ]- Q8 C8 h% O2 B3 k
sum dx2402 J% Z. O" [' V* w
7 R4 Z1 _+ [5 z' B u, E
local tempminp=r(min): b5 f8 Z$ l, q+ t J
restore
/ @ r/ T& P# i8 q }/ m6 `# T8 w; h e# t3 J
1 r8 s" m, J$ Y4 O9 ]4 q- ~+ }7 V9 ]9 }. L2 a3 ^% J
9 y9 C# n# z0 X: X& g
gen minp=`tempminp' in 1' [. I& Y# y5 T5 @
*240 minp
/ ^) r0 R! o# t+ M( O9 B( N9 M: x% a" \3 M7 Z! b* z
! u9 T' H$ C) v
9 e- Q, e: w& O( S9 h7 L$ w: K
preserve
* f. c( e+ J, P0 D3 d. Z 9 _; t9 w6 p4 X/ m; S! a
sum v5 [aw =avol]
6 t# _0 A9 X2 Z. }9 Q3 z( T8 i
6 N3 I% C4 d$ Y/ w& P8 p( A keep if dx240>r(mean)7 ]0 T: ]$ x& g3 G- E% d+ a* i
B+ R3 r" m0 [1 X: l8 D0 E' u sum ddy240
7 D) i6 D- b* c& j9 _1 Q+ O 6 e& @0 m" {/ N0 H; E
if r(max)>0 {
# U- T' m. G4 a8 Q' } ' y9 } L h/ a% Z: d; S$ ?
keep if ddy240>=0
$ T1 J6 f5 f( e6 G |6 E5 N
0 w2 a/ g9 }+ \# g/ j count
/ n+ ?! b$ A8 D
- a0 N9 B- A/ }, ~ if r(N)>2 {
3 v# z$ x( i- F6 B; N) d 0 ?8 r, p+ h1 D
pkexamine dx240 dy240: `1 C9 o& A5 g% k8 g% \5 q0 n
, x- _3 [! A( f& e0 Y9 T local tempmaxp=r(tomc)
- i8 u" f* f4 b# p* M4 @ restore
! n6 H; O$ X! f+ `- y( w7 R3 V: ? }
2 ]% `* G' W$ v# o/ ?4 w, a . m$ J R6 b0 e; \$ E8 b- z
7 r9 Y+ _1 p* k t
else {
$ R4 e0 b z: \9 f2 H restore
7 M" Y5 v$ z2 J+ T di "cannot find maxp"
4 D( [' y3 G- q- _5 o1 [ & S5 \2 A0 R8 y! Z
) y6 _# y5 d3 k3 j* O sum dx240" Y/ Z1 C1 \5 }1 X( n
local tempmaxp=r(mean)
1 l+ C# Y- e- H/ {$ r
- b+ G; m1 q' Q }7 G9 t( c5 j! S
9 {- s D9 g2 G; z
}" l5 f" g/ g+ K5 }$ Y* Y
+ g9 i4 o% M$ L7 h9 ], l else {! D% O9 r& B! j9 O* {
' J8 L2 a1 ?" y5 y2 ^ D9 Q( Q2 I keep if ddy240>=r(max)& ~+ z5 n m! X$ A0 T
9 ~0 I' _3 p4 U% f2 U: S
sum dx240
; p$ M% l* b0 H! o* F
# C) |2 [# Y* K N, |& R. K0 o local tempmaxp=r(max) & H) P7 e4 z o8 e
restore
, \' V6 h( p1 H; V8 Y }
% v# {* D, Z } {+ Z/ h
; T( |3 j% j8 t+ Y, e7 [. o- G. C* J: |: I' D- ]
; o. \! T! B# _; t% S0 D
) P' K# Q9 y3 U; r+ P" S, ] gen maxp=`tempmaxp' in 18 v; U7 U2 E, H7 x& {3 D" n
$ }+ r' t( i$ E! {( s
*240maxp
0 U q8 u( r# ^. ^3 B- ~ ) y- S4 R. i8 E8 i+ Y$ ~
5 Y$ m3 Z( Q2 I, z0 o4 x) N
*-------------ddy240pminp左侧高峰值-----7 e5 H' X% F) ^: ?% S1 d, ?
- q ~( F& U. l. Z+ w& W preserve ( {3 j' h4 M8 b; W( a: ^
: \# e' v% @8 [. y& D! X) c8 ~
keep if dx240<`tempminp'
7 A4 s) I" R2 I$ @# C# u5 } c1 b 9 d2 i9 [3 D5 R5 S
keep if ddy240>0
, t7 |6 r6 k5 c* M e! ?
' n q$ G* }+ v) X# _4 h' W3 P count* l+ J( ^8 h8 N
/ j! ^5 g5 g0 q- y
if r(N)>2 {
+ x% f: N& m# X$ v
{0 W* Q( i& S- V& w% i* y pkexamine dx240 ddy2407 S9 Z t+ k; U$ s: I5 Z1 Z
7 ]; K8 A2 _( \; k3 |; E
local tempminphddy240=r(tomc)
( Q+ y. s# E/ L) E: N1 K4 @' u restore8 t2 \3 M$ c: g' _3 A% _0 ~
}0 K2 M' }' V* `& v0 o6 w6 _8 k
. V v7 u: O- W1 b8 Z* |* R
else {
) [) {' q: R4 C/ p4 m restore
; C& _( t7 U. u' u9 Y* P9 _ di "cannot find pminphddy240"
6 G I, M0 ^* i3 M" C$ j; X
* L! t" I' ~1 w% F0 [" P% w ! ]9 t" r( D0 o) M& q, H
sum dx240) F9 Y& l% O0 i5 p3 p% f
local tempminphddy240=r(mean) 6 N) ?% e& m& F d C7 m
/ Z8 e2 L& I- k$ ?3 E) m 6 v. J) M7 H3 s! K' F. M
}& M# o- x9 F$ e1 s4 Y! b+ y# Z# ]
) f. m+ v8 E6 j4 R6 j( q: v
/ N* y8 ?) f, H: X/ \6 i
* c% l0 J1 g- Q' G
4 Z( z$ B, t3 o4 B0 x + }( H) }1 n/ e
" H) n7 I8 y: b5 F" Q3 Z
gen pminphddy240=`tempminphddy240' in 1( D4 h$ T6 E9 H; X) G- R
9 `8 R' B+ l1 c4 M. b$ Q2 J3 J
0 Z: h. L3 d; _9 X. V
*-------------ddy240pminp右侧低峰值 -----------------
: }& N2 D; H) { preserve
( v. _2 Q/ I. y# G" f4 [2 [" f E ! f; i! W: R2 s$ O P
keep if dx240>`tempminp'
3 l$ i$ i. k f5 ` - s- m' N4 ]0 n# F2 L+ d5 T0 B2 E
keep if dx240<`tempmaxp'
% B- C5 ?3 s6 V/ F+ [$ F" I8 f 9 J2 c* \8 a4 |1 E: ]' S7 I" @
keep if ddy240<0
1 N1 Z. a: ^+ b* ?: f0 m% W! ` * H, N' G- B- v0 T8 G
gen temddy240=-ddy240
' l4 V. h2 u2 `' S8 V7 j
1 |! }% \1 g1 l6 `5 D count& y/ x! ~% v% E
" @( [7 Q0 j6 l' j* ?" b' c+ q
if r(N)>2 {
' q) t+ j0 \; H- D }, J
/ w) q. P z( N) v pkexamine dx240 temddy240
4 N7 G* K+ A; x0 s5 y' j & ~8 t: ?1 ^. u
local tempminplddy240=r(tomc); X# `" _8 x0 r+ |! P6 K1 Z
restore- t) H9 W F, s- b3 L2 h
}
s# s- \# x$ ]3 h* C! i , D( K3 i; z% c; J. _
else {* a6 y3 I9 u& j$ g0 s" i
# M! I6 c6 y' H
di "cannot find pminplddy240"
# z/ h0 E/ W2 C; z; B restore9 y/ n/ ?+ F5 y9 [9 @1 v% M4 M
8 Q- }7 \% o* V* |/ @3 Z' F sum dx240
& x' e4 H' e9 C& z local tempminplddy240=r(mean)
, _9 o! `, \- ~7 `7 H , ~+ Y% ^9 K& [! h. }2 s# w
4 Z1 e7 q, j! h; L }
$ ]! J; e0 I) c6 K7 }/ {
! q& ^ I' m4 Z9 E e
9 g0 G- N% N6 V" I+ N9 M " h q* ~' ?9 H
; ~) b( y' k; Z0 c( ~
0 B) `) q' @5 O( J. Q& X gen pminplddy240=`tempminplddy240' in 10 b9 U# F# K1 m" Z f: Q
# P! I) p5 X" q1 j- H4 z: B* g( b *-------------ddy240pmaxp左侧高峰值 -------------------0 V5 i" j2 p$ @% y8 ?
" Y, q2 x/ N+ @
preserve * R0 F9 |) Y/ y! Q2 i" ]
v: Z8 m M" T+ B
keep if dx240>`tempminp'% Q; X& K4 Y$ ]
; ]( f, H( R) O* X3 K* v
keep if dx240<`tempmaxp'
7 G8 A. a9 p. a, L2 W' G Y
+ H7 L. E' ?2 K4 D keep if ddy240>08 n1 s7 w) q* f ^1 B# k
count# H$ e$ I5 F' f; i
' A0 u$ q1 x; H% L8 d3 J/ A5 x' Q if r(N)>2 {
8 y0 M+ ^- @ I3 l- _
X" w6 G6 u1 \3 l6 t1 k. G% F pkexamine dx240 ddy240
( E6 a! P, r$ C% j1 H9 h4 C, K 3 D" T& v" h& g/ n$ {$ t
local tempmaxphddy240=r(tomc)
; E" n6 W* f. q # u5 r) ^2 L# U2 _' M' n
restore3 S$ w1 D( s+ B" d9 D
}. E+ z- x8 M- ~- g6 P2 L
% Y* m% L# X% L3 C
else {
- m2 ~) U0 U& b( k0 Z
2 j0 x# F7 Y; A% J" R: n( v# a) K9 e di "cannot find pmaxphddy240"
8 `- d1 m3 ]1 _2 q7 F restore' [, i0 p" f0 L
$ y) w# S( I5 j8 n: J
sum dx240 Y+ b8 v" C" T; T/ }7 E7 J* @
local tempmaxphddy240=r(mean) 4 ~1 ], u$ Q3 @( P; s2 ~* n$ W, Z
8 e. @0 i, P% @3 ?+ v2 j
6 {5 h& k! S& j3 G+ u
}
2 f3 T7 }4 \- f* }, T
' c4 T! u, D, S5 r$ }1 S& v& c & M& `5 X& W1 C6 B
?& D" ?8 }7 f : c" }$ |9 }+ A
& S: G( ]2 d; y* Z
c6 ?' ?; p7 e9 p2 {) @ gen pmaxphddy240=`tempmaxphddy240' in 1
\. d( e' {$ ~& C% [, c J4 g4 `4 n+ ~7 q& o: K
- L9 {1 w% P+ B% o. M) D" Z O
*-------------ddy240pmaxp右侧低峰值 -------------------
0 R+ O5 M/ \3 H, h/ K R# X$ L0 P
/ z/ j" Z7 A6 \$ o, R preserve
6 a( h# Z$ \; [+ k
) C, t2 z3 s, P/ i/ h keep if dx240>`tempmaxp': m7 c& a. Z, t5 h9 D$ o4 p
Q+ @$ I, O3 G3 _
gen temddy240=-ddy2404 S0 K4 T' m5 l) \4 \: v( G+ R
- P1 }- T8 q7 I2 ?3 g8 C: ? keep if temddy240>0
: z. g* f7 l( o5 Z 4 p+ f7 N0 u# f7 ]
count
* r/ U" z1 g( @# B o# s
+ h0 x: |: C! X1 C9 d if r(N)>2 {; u; E0 M/ y* z. p
' s1 r1 O8 T3 m B pkexamine dx240 temddy240. d2 ?8 V0 q2 l3 @4 E" N
. P2 S6 ]! T8 x/ o I( G2 f* b
local tempmaxplddy240=r(tomc)
' ]. P' ^* q( J2 p+ S: Y restore' g) M3 z- T- N4 ^& X8 `
}
! ?% `4 Z6 S. o! W3 C+ U- ~
% k3 H4 a7 u' t9 h else {
- Q" a n& T, I) M6 p restore% x) m4 m1 c" Z6 F- g% x
di "cannot find pmaxlhddy240"
: N c% S; j% h$ m8 Z
7 ~, r- S$ z! Q ' @$ g2 `4 h( [: o: T0 `; X' G: @
sum dx2408 @0 _0 g6 M, ~+ L$ \8 p
local tempmaxplddy240=r(mean) in 19 L7 ~% ^7 t" l7 b" C u- v7 C
& [" v+ a$ j. S% Q# ~8 w$ p- b
7 A( ^+ I: J( P3 Y y J' e' \; N }3 C% X' _( M" {2 _. T# f* n$ \: c; \
; Y2 S+ A& x2 [* \$ H' O" n0 u" i
1 Z: v3 @( N. ~5 C) K- A" ~
/ q+ _3 Z P( ~5 j+ y3 a- f
7 ^. q) E6 [# z9 _: { 8 |& {7 S5 G9 C% a8 e
/ z# k0 f( K4 ]- I5 U* x gen pmaxplddy240=`tempmaxphddy240' in 1
, B# k4 J8 _# J) _5 x) e
- s- C: o5 c. F, [; i' B8 ^/ R U *-------------------------------------
/ |1 r6 {- ~- |4 _ " r& x* O5 h# Z2 H
gen price5d=v5 in 1/205 ?9 u) @' H# h; X
1 t7 B/ z! [& W8 O; }/ G- d gen price5yy=_n in 1/20
# }5 |( O/ v5 b2 U " I; Z. _ Y% f7 f7 S; p# w
gen price5y=price5yy*(dy240max-dy240min)/20
, k7 N# ?% L0 _: k ' i; p* z) L9 G( }1 x
*price5y &price5d
: I( H" a6 r' o. S
. h& p r* J- T2 { gen priceny=price5y in 1
+ U3 I) E0 E/ A4 D. x9 R( \7 Z 7 s7 t8 ~/ i" g
gen pricen=v5 in 1
$ k. O$ Q4 C* |) p- l- h: W# P8 o* b: T% J Q+ y! O
' j2 A5 e3 k3 J$ c: y4 O *priceny &pricen
" z) T4 e1 A/ ?% `: }
1 s, @+ E% Q; D7 D1 U/ N 8 ~3 W2 F6 {# |+ _( C% M" Q
*-------------------------graph------------------
8 x/ S. D( ]( Q/ n- I7 G$ c y * P5 C1 d& S. X' T0 O
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)
& @" i, w" C& w. b5 Q; L
z3 c0 s; ]; o; N2 A' d# S' K* ---------可选项目----------------------9 J7 u$ ]9 w" J3 A0 w+ Y' R
- J' d- p) ~, k$ f- ^2 m}
+ B% \3 N/ J& Mend9 \# c& v5 o4 J4 y6 y0 S
|
|