|
|
改了一下,这次运算应该没啥问题了' R& O7 I- E" Y- _4 `% B) n1 I
& V# A9 F3 o f5 `+ ^2 d; q! C- y7 y, `
capture program drop hello8 _0 I6 W$ ]7 k* c
1 }0 i7 j7 P2 }* r1 V9 q4 ~, z
program hello/ z- i' D# n3 t7 k- Q- j" H
8 C- Z* s0 z1 A. s; j quietly {7 X# w/ P) J& D. z, v; D
: d W/ ^3 `: ]% K p" d) p( p# h9 g) u. r
clear3 k V+ x3 g% k' q
7 d, m T( y( `9 _8 {3 X9 q7 o
cd e:\finance\stock\20110101\source5 q4 z/ c6 l+ B" G# p+ }5 a
+ `% j1 @; @3 g1 B. I5 ginsheet using `1'.txt
# D6 k7 O- ~ a! U9 A$ r0 w+ z1 o; c; O: p5 M% ?! C' F$ m d4 g* j
keep if v5>05 N& g% G9 \& \% d) w) X1 E
+ n" B s" O0 n+ l, a! P( n" ~' m
gen vt=_n
0 q! g+ g8 t k$ v" n% D Z
d2 W& k! o. l' u( i8 O! b- P- I tsset vt7 J }; y! _1 D1 s
9 X" \2 `% l. O9 ^ gen zf=D1.v5) G" R, n! B" F
, ^( g8 u. ~% W2 b+ V# [/ F
gsort -v1
$ @: A8 |# v, c4 M W. m5 i! r8 P& p
; c. v0 e) d! o gen avol=v7/v53 L/ r' M3 U2 t8 m2 ^' t: t: M4 d
- k: y3 u$ H& t% g- @9 p. q' ~ keep if avol>03 L& j% f0 u$ b5 l1 H
; n3 K0 Y6 A/ Q8 d
drop vt- ~4 O0 R# k' x$ O8 V( v
& \' o5 H8 U4 \& }. @! w3 e: k ]
gen vt=_n/ U: I7 A8 ^3 p. N1 \
* N1 O0 k2 G7 e7 B$ ~( ?+ {
tsset vt, c, o! @/ P: @- W
% j7 E! s+ b P% R
sum v5 [aw =avol]/ R$ F3 C$ l7 X/ |
0 i1 Q- Z' f) ^2 Q gen amean=r(mean) in 1
6 {! A, f0 s" a/ T1 L" J2 i5 v
. u$ A. I$ ^4 d: N0 K0 b * 总加权平均值 amean
( B3 I& E6 n! {3 X4 x$ ~- }$ I 5 d" ^% U& q: m5 _+ h4 Y- N- D
% s* `2 z/ u/ v9 {0 H! e3 S1 y0 ?3 B keep in 1/2404 n! G$ @4 w; ^& q }
' X& K( |& T1 v& V \2 u$ [
sum v5 [aw =avol]
6 s: Q2 f6 w) r) D
, {+ l5 p% N R4 E gen mean240=r(mean) in 1
, o+ @8 R7 G% j' R9 @/ q ) D. n. [' r$ |5 d" e |4 `
*240加权平均值 mean2408 u( H! W" e0 q B7 l
1 V+ k( M0 t$ i. i1 |' q* F set obs 500 5 Y9 E' t7 P$ {; Z% P' A2 a
) t% o, H- i- C, D kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph( ?- x! }+ a4 e9 R+ c' C4 q8 q4 `' d5 P
/ _+ Y' n( a. l9 s, \! \ *240 kdensity(dx240 dy240)( y9 q- m3 ?3 I! ~- X* R
* o8 X' U, [& ]- B% h8 L
sum dy2406 `% H: m+ L6 a
r0 f, j( N4 E+ V2 @1 @
gen yxis=r(max) in 1
" V8 C# J, t; R# q* T3 P 3 K. G5 e c+ ~
gen yxis2=yxis/29 N- D; G0 Z+ f2 g0 e
4 w5 g/ K( r! _) G5 Z
*yxis, O O7 q* t6 b6 A% j
2 B- S6 v5 f4 x- W" a6 o: F gen dy240max=r(max)
/ `5 H) d# n9 n5 n
1 }$ d7 }- q# W2 m+ K gen dy240minp=r(min)
, g, { W) {. W3 j' e5 p * l( B% S! J/ s8 M3 u
gen vtt=_n
; `1 g }- b9 G! P" O: C+ X4 G
+ O/ S# m0 W" n' \. V tsset vtt
/ m7 S6 ?& v: R# e% [: A7 O% G: F8 b
gen ddy240=D1.dy240/D1.dx240! E: S3 x/ a E' O5 i6 h; R: [
" E! C& v+ o, f1 t/ Q5 W sum ddy240! \" ]4 \6 A3 L+ ]
: D+ T: x. G& R' H; b gen ddy240max=r(max)0 O! d% y1 o" j" T: N% u4 ?
5 x7 T0 x9 Z" m) n" a" P gen ddy240min=r(min)
: y# N5 Z/ e' T ' w/ V! E3 R( C
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
% B f4 [$ }# [& h- G* L# r# ~2 m - ^. R% q2 ^: e7 v3 |! i* m+ ?
sum ddy240g7 r- e3 N' x$ ^7 d% F3 w4 b0 h
8 H* Z+ b, {, F: q! y0 y2 M% h$ R4 ? gen yxis3=r(min) in 1
: E- d- m6 C9 t
3 z4 R3 N! k1 S! X) r6 ^8 y0 g gen yxis4=0 in 1
3 q' {# l# [8 {" z7 A$ l5 f% o5 E! ?
# L( s% j/ l( m+ K4 B *ddy240g
! h7 x M4 N( O6 I( Q) j
. w( q# C; I1 T$ Z5 ? ; Y u1 ?0 y# ~5 t% w' H5 h$ t3 a
preserve ( D5 I$ C4 o# @' p! R& D
) W4 u8 Q( y1 z8 S" I
sum v5 [aw =avol]
/ [" n; V$ u! P 5 d5 k- ~0 i. o) B( r5 |
keep if dx240<r(mean)
# Y0 Z: a: i( I6 @) B1 K
{, q% @- m, T+ K sum ddy240% |9 C1 c! m3 F$ g0 N7 s9 T
; W- _% z1 ?/ W3 Z: i. y6 A& s
if r(min)<0 {0 B" J$ ?! [" q$ i+ t; p
& W" J7 | i3 \6 P* o ?
keep if ddy240<=0. D0 z% w' J& L
& l' F$ Q# [' _0 K% z" u6 x
count! u! I7 {6 M) F! j+ f1 g
+ a! M# c p- k$ G5 G, F, S if r(N)>2 {- b2 J, a) ]/ L' _% i/ X% e- `
# \) ?3 z( O3 }% X- F" O; L: k
pkexamine dx240 dy240. v) q* l8 @" I+ W* X2 M {3 K
5 v# y/ s3 O4 r0 ~7 _ local tempminp=r(tomc)0 E5 z- q5 A: K* ~5 O# S" v
restore
, p, ?+ c8 c' c4 F: U) s( K }
n3 N- {5 {- y% D3 I 4 t. r1 o& w/ B F, ^
else {3 q; {# t4 c& V; U' S# d( l2 l' w
" s1 ~# D! U+ P- [
di "cannot find minp"
2 \$ x3 b( s# S X
9 Y8 H( w( F( u% M: j! h4 x* w2 Z7 x# J' d restore
- O) P* d# S b* L1 | sum dx240
8 S0 ~2 {4 a7 m; L2 H local tempminp=r(mean)# z& C$ z. ]2 J4 U" ]
/ b. N5 S$ Y9 R+ i: h
}$ R+ H+ ?/ _; J1 }* w- y
}
/ x3 E/ q5 Y# P/ |4 N, A else {+ }* \& w2 r( G6 K
- [! U3 e. N' s& S4 E7 k
keep if ddy240<=r(min)
3 j. I. U0 B# h ; T% y( V# j) L7 l: B
sum dx240
# u2 n7 Y. [, h
4 T. x& P3 q- j; ]1 s8 s* H, H2 D local tempminp=r(min)8 K4 S* y; d" O1 l
restore ; c" L) L/ q6 Q1 b1 F. F- \; J2 w
}
! S: L' C5 K, K) q( s# z
. ^' H% K3 [# L( ]) W4 Z7 d% E1 k' i7 W5 O( C+ h5 _* s& p4 J* ]
+ {) B' U* k9 e# Z gen minp=`tempminp' in 1) |7 o0 i$ @4 ~2 B
*240 minp
* t r$ s4 h; \. } O4 O
" O# M; i) W9 ~2 w- [* N3 C/ y& j( M6 D4 @
. O: J& M# ]! L, j0 h. L" ~% \7 o preserve
9 y/ j [, U& i% H! V2 ? S+ V' C 9 |( _4 c9 Q# S. t
sum v5 [aw =avol]
0 n" p! a* q( i+ w
- i- K$ E4 z4 D0 f6 F% j( G! X keep if dx240>r(mean)
2 J' o( w6 K: r0 S D+ z) h8 [+ \( _& Z & m, d- @0 a$ B
sum ddy240
4 Q* B7 W' r! Q: a9 }, a* @ # n% ^! ~0 l p* K$ F# x
if r(max)>0 {
, k% @, I; [! J* d* y" m / @6 R. i5 M2 \
keep if ddy240>=0
. l: S2 F7 |( s+ E r8 ^9 M, L
4 f# S' u! D0 F( d. h& [ count
7 i$ D' w$ |% j0 _- l % U( O* i5 t. d- `7 T e
if r(N)>2 {
( z* S- |' \, j$ q
d' ?, k0 @6 o: ]9 Z# W pkexamine dx240 dy240) f% \ G1 O& C! _( A$ j
# E f* m: b6 i; J5 ^, J local tempmaxp=r(tomc) - R9 n0 n9 p' J; L# K3 W% C* l I+ F
restore # P. I- a& a0 T6 ]
}
! ^1 b8 }: o, g
. W1 n% U4 Y$ x1 I5 u( M$ v # E* j7 W7 J/ {0 h' D9 m
else {
( T7 L5 [# Z! G! t restore
/ `2 @8 s* { Z& J% g- F di "cannot find maxp"* V- ^! X8 ]% [ n
' o# A2 h, |8 e2 W- V/ ?! D
9 i% m2 {8 \9 M9 e& q/ N. u sum dx240% O* j2 C& ~+ }7 l6 B% \
local tempmaxp=r(mean)9 ^4 z0 s5 y( { ^
3 K, Q5 e$ X& {, H
}+ N" T, a9 P3 g) A. T4 [" j
, R4 }* q0 {- E q% C# p1 [9 y
}
5 L* g' X' w/ i 1 n; _$ U. j3 f6 j6 N' ~
else {) M8 ?* i8 e) n/ {: n/ t
+ n2 E- {4 }3 c
keep if ddy240>=r(max)
+ S4 M6 N, K1 E0 f
1 W3 l0 O, h6 c) M sum dx240
5 }$ G% Q) A5 p+ a1 Z
, w! n' Q2 t8 v. f' G. L" N. {' h local tempmaxp=r(max) & S( ^. P/ e7 |: |3 P6 @" D$ w$ m) j
restore
1 Q' }; t7 r, E" c4 a: t }; S" B! e r/ k# f& c- _7 y, k
$ {1 t) F7 S( r
2 i- @5 G: T7 H [$ ]9 f 6 { I6 W; l) H2 c- @* ^
% j7 P4 J- Z. ?. P9 Q gen maxp=`tempmaxp' in 1- d0 M0 `. C& V ?+ g0 |
d/ u; ^2 b, _" ~. j3 s
*240maxp3 Y) G% o t8 ?
4 @, L( ?1 N2 j' m
9 \! U+ P: Y8 z* T# t4 E *-------------ddy240pminp左侧高峰值-----! s7 }7 h1 q" \& @
! {* O3 Y% N. v Y
preserve
" y1 |' v% g {% l0 U8 i' D $ \) z, {1 ^2 R9 I& Q* ^
keep if dx240<`tempminp'
4 V; O0 [* K) d) D 0 f% A% G- _" v, g3 e0 a
keep if ddy240>04 W! j% H/ }# G
! u1 N# c; l% u* w2 J( P6 l
count$ P0 ?9 J4 d' t8 l- b7 z" c! ?
( a6 w7 n: E W% V
if r(N)>2 {
- N1 R" e# n) I7 C7 }/ g
~% e% E5 |8 j { pkexamine dx240 ddy240- F% R) i5 u( M- N9 q
: a" E5 Y4 j' Q& \/ H( E5 i local tempminphddy240=r(tomc) 2 J S$ }1 `/ I* \
restore3 S N$ ~* H: e4 h
}
( d; H1 n7 [! `0 O( N O8 S1 o5 |8 Z 7 b+ m/ [) \6 o8 m/ G) w" r6 T( H3 r
else {9 U6 g1 O0 e2 Y% V' T0 S6 I+ d) {( l
restore
7 O5 O, m! T" n, @& j di "cannot find pminphddy240"6 W) ?% B* G" ^9 w U" |
$ H+ U: W4 p" k; z* b: \
2 L" k- m% W% \: `, k5 D sum dx240
: F: v7 O( W3 _+ p; X* o, U local tempminphddy240=r(mean)
+ s8 ~8 Z) c% \2 {: C/ S9 M% ]
, _7 o1 |. g$ ^# f ; S& e5 r* i4 Y2 x! b0 j& Y1 c
}% Z9 y9 l& _: q
9 C4 u8 u2 P, b3 H3 G, M
/ y5 L5 w# v) p5 j! ]# v' }. z
/ B, A. w9 p. D" J7 a9 ~9 d 3 w( ?, B+ ^8 g$ ~# U
2 V4 b, ]! O, {, V/ X: Y
6 I8 L. H a- ? V5 }2 @$ R/ A2 ^ gen pminphddy240=`tempminphddy240' in 1
& O, k( g" ~* N8 z 2 L" g" _ Z# [4 x% X* @% B
( U# k4 ]/ C( E4 g+ J8 @ *-------------ddy240pminp右侧低峰值 -----------------
$ N3 |: P7 {2 _; u; c preserve 8 A) y* c, B2 [) V
) m8 P% V3 o5 t2 x. x3 ]! }: s
keep if dx240>`tempminp'
( P7 o+ K- F( M/ C. |, X1 D- }
7 ?0 q& B( C% i; @, h/ [, z" g keep if dx240<`tempmaxp'5 }& v+ d' \$ [. x6 w
/ ^) o( o( b* R7 z
keep if ddy240<0
) T9 T" I5 e' P) X( h ! o" e* c0 a. Z. ~* |9 V8 q5 T
gen temddy240=-ddy240
" l- J+ J' h7 K0 H7 t5 q' l
1 L! p& t8 n+ ^8 v9 z& ~/ Q l$ o! _6 b count% Y9 y0 ^6 c7 F: v7 M- z$ s- n
3 g6 ^9 T' n; f0 \
if r(N)>2 {
: f' [: x5 n; f
, m. L* q" O: _% w pkexamine dx240 temddy2409 R: ^5 H4 ~. E
) f4 J" O* q) X% X$ x6 Z( n- ^ local tempminplddy240=r(tomc)& d* h/ e! D4 u& C F# X
restore0 O4 G# Y1 ~2 P- i# M/ B
}
% B3 ]8 a5 B& n) T( |# g& { ) x; I- V/ n5 n
else {
9 I4 P. @* L5 a) j , o* A6 y0 |+ a) l7 r
di "cannot find pminplddy240"
7 ~5 r4 V' ^% e; r' s8 | restore
7 g2 ]: R" p8 w& M9 g- a6 j7 `
* ?& x: l) q0 g" v- f( y sum dx240 x0 K& M& a& F) Y
local tempminplddy240=r(mean)
9 V+ c6 ^& j$ z8 O2 R* u8 h- f' U9 p ' r/ L+ O+ ?! {( y# \2 T
# b' a& z' L) T+ T% J8 k% h# ^1 F; T
}+ i9 l0 m) t! X: A
+ G5 r! E6 y0 f* q1 c8 m 3 k0 ?7 ?8 V, g p& V: _5 z
) J) ~+ E4 ?' g0 z" V6 B0 C ( C7 Q8 H4 Y% z- d6 P
3 ?' ?7 D9 {( [4 J! R gen pminplddy240=`tempminplddy240' in 1* j* B0 j" G2 N4 n. Y
3 {0 p+ H3 g, K6 y) U6 n0 ` *-------------ddy240pmaxp左侧高峰值 -------------------! T, u4 \# w" i# O5 ^) ^, g) T! `
/ c E' u1 m6 X2 o
preserve - C( r- i( M; q8 C2 l1 o
' @( m+ c7 T; ]6 s- e5 | keep if dx240>`tempminp'
3 @# _7 q1 ?" c7 f4 ^5 S3 A% T1 ] : r/ r# t0 H& z' L
keep if dx240<`tempmaxp'* s( U$ F3 f; Z" i( r
; E( n* x, Z) a7 X; n keep if ddy240>00 d5 o6 s* ?6 G2 {$ b
count, r! [7 }; @) ~- y) h4 _ p
& g& c4 Z4 T$ ]" ^5 B/ V if r(N)>2 {& ` m8 \$ Z* g8 `4 f5 O" J; k! y
( f) l* h& s! o6 ^: t9 C7 [
pkexamine dx240 ddy240 L1 W( l2 V0 i) b7 |
7 @: G# y' b3 v( W3 y) K local tempmaxphddy240=r(tomc)
- S! N' s3 Y8 o6 h2 o+ i
! n \& X8 W! V7 T# p, z1 l( H restore
. `( v+ Q% U6 Y/ b$ }" d; `3 ~ }& P; q* H: {( I0 ?, O, P1 i
% @' _4 Q: r3 k) H$ T
else {
" E, l) q% ^8 g, K 8 b* D. }& n* ]" i* s) l" L4 P$ s
di "cannot find pmaxphddy240"
: A0 l( p& T% m& T5 G restore
$ _, g# ~4 F. P- D
9 |! |! A( s+ j( d+ I- Q; P1 | sum dx240* ~% ?7 f8 @. I# m6 b/ P' {
local tempmaxphddy240=r(mean) 6 Q' T" e& Z0 U* ]9 V0 m
3 I: f m5 E' a5 B+ I: ` : x: O" d9 s$ e. X
} p* ^! b* v! v& o: {
* R( i/ g: @- [, u% P+ d- I9 G
( b B0 l2 @$ M, _$ D3 t( P
C6 P$ U. C6 g5 D$ l1 o - C. `3 q, ~: S0 Z# C* R
; n! \. `7 y- ]; i i' Z
. r% F: b8 F+ f7 K" ~; B gen pmaxphddy240=`tempmaxphddy240' in 1
5 {( S8 n2 u1 I% t, q. F 0 q7 \6 m5 Q( e0 l4 g" V3 \
- A+ y; t% L t$ E0 k
*-------------ddy240pmaxp右侧低峰值 -------------------
% W( e9 w, O* x
' A( t9 Z/ q# m9 v preserve
& t9 Y: D( j& A, p8 |3 ]) f , h2 {% R& H( @4 \: `$ z' U7 v- O
keep if dx240>`tempmaxp'
( o; j0 g; O i' w& F * k7 r4 ^' ~% t \9 c/ ^5 V( ]
gen temddy240=-ddy240
4 W4 o2 l( {/ \) T1 I
2 X# ~- U. c' [& a keep if temddy240>0
- j3 C& R' T" Q6 r# @ 1 b& l$ M. R9 Y. u4 c7 D) F
count4 G' w6 A. U" W% \# K3 e
) P. s! b7 B1 o' J+ e
if r(N)>2 {# i5 q n& d1 }) U
# B+ h1 B/ K( F% B. ~ pkexamine dx240 temddy2409 J% W# t' }: Z2 J! O
7 }. K- e+ T$ ?9 C local tempmaxplddy240=r(tomc) ; C& q& x! z) n8 E. d
restore
# V) p, v1 E4 X- w" C \! s }3 m8 l& h$ i4 k
x* x8 N: G) E1 D
else {
( Z; K1 z( a- L( ~, n0 x) D6 u; l restore' ]1 n; D. s9 W& z; K% @/ l
di "cannot find pmaxlhddy240"6 Z2 L$ M, s, w' p& |- S6 Q, A' |
( N6 G/ N: P- F0 t) u $ Z* n+ Z. M4 r* P& c
sum dx240
9 z$ S# j2 G/ j8 w: ~: ` local tempmaxplddy240=r(mean) in 17 C1 a5 F4 _! A
4 G2 {+ [- d r w# |9 [
* P$ o! A, c% _0 g- { }
" O7 x4 y% ?# ^: v( \5 I + w. I# x1 \, I! j |- G% E
/ r: Z Q" X3 ^: {! ^( v
' g0 S1 h" ~+ h9 A$ c3 l5 e
/ P. _- e/ f* D) M% T$ @) [
& t; y8 [. Z2 }: H% [# \ 3 G" N0 f; T- i S# [8 g7 E
gen pmaxplddy240=`tempmaxphddy240' in 1
* O% m" h2 v$ ]6 @' W
, X) v$ K0 g4 ^+ e$ c *-------------------------------------
* W$ M' J/ W) Y0 E2 T7 ^, M. F
4 q4 S" g: z/ O+ v% `, ?* G) R1 ? gen price5d=v5 in 1/20. z- Q% f' H) E0 y: ~+ C$ E+ n
3 H9 }6 C6 ^5 O! }
gen price5yy=_n in 1/20& H# `/ W" Y& F3 O# w: m# j; g; q
& }1 E4 V" R/ l& X6 _7 r gen price5y=price5yy*(dy240max-dy240min)/20
- }3 R; q ~5 T8 c7 E * ~) u% o: {, F6 S+ y; c- s
*price5y &price5d
# t- `6 ^# v* ]( P1 w; T
' M0 y5 ~( Y$ l2 c/ X gen priceny=price5y in 1
* q2 O$ ~+ s* n. [2 F
$ J2 S2 f4 W! z ]- H/ X& g gen pricen=v5 in 15 z" C/ C0 G5 R+ o. q
$ w2 Q2 _4 \& f & v9 K4 f6 t _& A9 x
*priceny &pricen( T+ v' l3 x7 W3 v. t3 @
0 W7 H# u1 k$ N
) r# F+ b8 x1 I *-------------------------graph------------------ [' I# g% Z$ Z1 a D" J& P) k6 i
; w$ [; p: }# m9 ^) d, I0 J+ Y1 h
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)( P, W& B9 z; l* h- d, c
& u8 R9 ^! l. f0 ]9 e8 N5 [
* ---------可选项目----------------------1 l: |' Y, ~# N9 c8 ?
, a1 y8 p7 U. z; M" Q8 a* b
}+ e. m- i4 \! M. R6 @
end9 \# o: ?$ L0 `$ F9 ]0 U, J5 X
|
|