|
|
改了一下,这次运算应该没啥问题了
9 i6 Y' f# l/ a/ c6 V; J
' I( ?' d6 |& F+ t! ?3 x& Q" O' w
' Y( j8 R8 a+ a! H, s5 |capture program drop hello5 t8 R n [' X- b2 F
$ s9 \; c: o% k+ B( bprogram hello0 }% w2 f( B; Z' e* f! y1 ~ m
, J. N7 A2 I U1 p( j( a: M
quietly {
9 J( j+ a' u! T
6 s/ y0 n% f3 Z2 A) bclear
9 B1 I5 X& c6 |3 p0 ]3 P; u6 S2 X+ s6 Q' C
cd e:\finance\stock\20110101\source
1 p+ F0 S% j/ b7 n; p7 @9 R) f' A+ b! p
insheet using `1'.txt
; e5 H9 [8 m0 Z
% S+ H3 U: v y keep if v5>0
?8 ^$ p C6 ?1 H3 u
- X% i+ \0 \# @- {, h- C gen vt=_n; X8 N9 |6 Q- e) u: a
& _" l6 b. z; } tsset vt$ |, e, A/ l- `9 F, X0 `2 c3 s6 [
' i. Y9 C2 y$ w2 D7 ?
gen zf=D1.v5; m) K+ n% A& `$ k6 O4 j
* x+ |5 v* g4 ^* H2 N2 s6 l, o9 u( o gsort -v1$ y) e1 J; y' ^
% p; y# O. |$ A* H6 x7 G/ W T
gen avol=v7/v5
. E$ S k/ `& E* [ ' O" C9 C% V) t" H' Q, Z2 f
keep if avol>0: D: S, x' V, V3 [1 X9 h
' z/ c( @9 ]- |4 K
drop vt) {0 u" K1 T' t- Z* T# e6 j
7 S/ r% w/ ^' h% U! L4 } gen vt=_n
$ G! j5 O0 F7 Q) C* C
* g! M3 }3 @6 U* u7 B) X tsset vt
( N" L5 A* _- a2 Y# w( X# G
' J1 w) ]# U& U& r% J) N sum v5 [aw =avol]
' n8 G1 M% Z" ?1 U0 g# d
, S, J5 B7 F7 c7 s [ gen amean=r(mean) in 1
, v4 ]1 E( p6 D( H' a ! j0 _/ p2 Z8 K: e3 T, h' g" X r6 ^# P
* 总加权平均值 amean& @' T/ Q3 f) J3 v6 Q6 G9 u
$ [) j; @! m3 B9 b4 Q * o, f0 Q3 u4 G
keep in 1/240
5 Z J3 g; @; m& I' N' c& o, g! r1 I, A% M
sum v5 [aw =avol]
4 h/ t, {+ b1 O6 o' I# j1 r# w* T+ O5 {% x; G8 o
gen mean240=r(mean) in 1
8 l0 y$ {* V* G 8 [1 t7 l, {2 f
*240加权平均值 mean240
% H5 J g( I, u % K% [3 s3 `( K
set obs 500
2 r5 {! U6 C" H0 [" e+ @3 x9 T$ u' Z j2 c6 o' I/ K& X( v
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph1 u: H- R7 p. l4 G$ m* ^' @
`2 Z. O/ P+ O, _
*240 kdensity(dx240 dy240)
# E: ]3 _) _& M0 Z/ {3 h4 s) J% W/ G
7 r- D8 `) w5 U. g2 D sum dy240
& N D, c! r2 L# P, r9 q2 T
) z* m6 t$ ?: V; b gen yxis=r(max) in 13 i6 H7 H3 q. Q# w
% [! V' ~0 E8 T# z' J7 A; a
gen yxis2=yxis/23 o% J' K8 X' N0 D! {
6 y! @2 p; C% o( x5 ^
*yxis
1 V A9 }# K4 P( K " Y/ ^1 p* S. J5 t+ d
gen dy240max=r(max); r+ F+ o3 b/ k" [" W+ i- o2 B
' l& p5 e9 h) Z) }" ~" ^) ]+ Q
gen dy240minp=r(min)1 ?1 D( l3 C, z# }9 [' _
" c% s9 v/ L. }% m; L- B gen vtt=_n
5 f) R" C+ B3 J4 B& |" K" W6 P5 k5 a9 `" q' v
tsset vtt4 l" H5 s2 ^+ n4 u
6 B- b* C& l0 z2 h gen ddy240=D1.dy240/D1.dx240
0 I/ Z1 y0 y0 `7 ~5 d! E* @
* M! n4 K% V4 N. W* j3 }) X sum ddy240
$ O. D) g4 w& k! E4 N: ^ 6 `# C A% M$ `9 s
gen ddy240max=r(max)
0 p" B# i2 f* q8 U) R! h; I
" H; k6 h# i: ? gen ddy240min=r(min)
2 O0 z0 ?/ ], w$ ^8 `
; E$ S: P4 ^9 _0 d+ b gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)7 E( ~* q# d: F( r+ T q7 u
4 L* E& k, C* @% F, c" E' i: ? sum ddy240g* i% T8 {" T) |
7 V; s" Q8 }6 o
gen yxis3=r(min) in 1/ d/ B0 m$ @& Y7 u# v0 ~# R! k8 D
+ @/ Y$ C! c6 U9 [# d' q& s
gen yxis4=0 in 11 \5 t& a0 b, ]/ m- F6 K
6 k L! W* s* a
*ddy240g 9 [* C1 ]9 y! z6 w! D" w
( Y* d4 N( x! Y
& I1 p+ n0 h/ e" B7 l; ]+ K' x& \ preserve N, ~6 w7 E- m0 b* l# {
1 _, q' |) P' \1 N7 ^& ~5 ^. P sum v5 [aw =avol]
: p5 K; Q- e0 f% Z- B8 W
$ w1 u* c7 y) n' O keep if dx240<r(mean)
5 d8 b# `4 i3 ]( F 2 i }4 H @, V
sum ddy240
3 k T5 L/ {3 U
9 [9 m# p- t3 C& \4 T if r(min)<0 {- B5 P( J% ~( R4 `% [
- }3 X! e0 C- Q- G# c8 |9 ~
keep if ddy240<=06 H o& J# H5 a# v- x
, S6 Z; {. c& S count5 @& \; e; r+ J e% d8 [
# J7 f8 U) r3 c7 A3 l2 K% ^
if r(N)>2 { ^2 k. @3 a. _. o6 i2 Z1 ~7 f
; ]* m4 v$ O( I. z/ Y- _0 l0 o pkexamine dx240 dy240
/ \* [. b O# i* F# ?
/ X2 g0 C/ ~7 g7 O9 G/ w, g local tempminp=r(tomc)
% {1 N( \3 K5 y restore
: I- T" ^7 y" a5 M) O }
5 o/ [" ?% b! s% w8 v
3 [( }1 K9 s; @' e8 c3 ` else {2 k& [- S; A# b/ y& F
0 d" W, Z! v1 N( H di "cannot find minp"! H, w+ \, o+ y
" r7 ~( G! O1 C
restore
# x# i1 g& \1 U7 I- V% ~/ i' G) l2 A2 I sum dx240
$ }6 Z: l' v1 |& E' w; b local tempminp=r(mean)! Z* ~9 r/ M( X. X7 S) Q
2 v! H$ S4 {! a0 I6 z* n }' w4 `; F3 S) D* h8 [; H
}$ U$ ]* W1 [8 ^2 k
else {- e, x' ?' x4 A) b
m. |) |# S! a$ s
keep if ddy240<=r(min)/ F" `. m7 z4 t7 V# m* [. |
: [; v+ s8 u/ g7 k# Z; r- N8 d: w: q sum dx240
, o# q; X" f0 s
! X# \* e& ^9 h" s! O" e local tempminp=r(min)
! A2 v4 F* }# g! J7 h4 s6 S restore ! T D1 O. z4 F+ ^; G+ X. E
}+ w: o# _8 q c4 U; \
1 ~$ A8 u& }- a; z
* f9 S8 T( e. g; z( ? O
6 j5 b. Y8 V E) n: B) ]) l gen minp=`tempminp' in 1
! x7 ]5 U$ z) f! H) x *240 minp* G. z7 W# F% j, q# A
( `5 j$ F8 g0 S0 j6 Z
! c3 B/ J$ M- Y$ u, w1 P2 ^" ~* Z
; ?- l* \# }2 O: H3 v
preserve
t' w7 s2 D$ x 5 ]: h* j" X( T6 C" P; O7 r
sum v5 [aw =avol]
; f$ l$ U0 k& [* M # e6 C2 J5 |. r
keep if dx240>r(mean)
+ B4 R6 @# L. g0 S8 a& F2 x
% `, D& d# x3 h- i; a0 Y2 { sum ddy2402 X4 s6 a% o( K* {
/ v, |+ h3 V# r3 _% ?; `; u if r(max)>0 {& {( \; S6 B# J( _
' k; O' P; x1 c$ o keep if ddy240>=07 s$ K0 v; Y$ n1 P) }
' T# F1 v% C |& R( X! ^
count
* j7 a- v# y1 r. w) F! `; I A& D6 X3 g6 e, [. M
if r(N)>2 {
. B0 A" X8 h- I% |1 m ! X/ v/ x$ h3 O
pkexamine dx240 dy240& e- g$ j8 k' b& P* d) w
" [ a1 R2 k" `5 g local tempmaxp=r(tomc) $ I8 x% N' A0 V
restore
7 Z5 W& e1 W6 E' [" t0 R R }7 U; h$ V5 p- S1 k
$ r7 S* R0 J8 s$ K7 ^3 L
. H# d( x: |+ i3 \: M& Z3 ~+ A% `
else {
6 v! ?, X3 Y0 N; w" @2 x, @ restore 5 x' X1 F) D: b7 V# r# ]0 r9 C
di "cannot find maxp"4 M3 W3 p9 F# l( }7 C3 J
9 J$ [) d) |0 ] r
2 X/ X6 l# J1 k sum dx2408 |# A5 X1 ]! ~/ y
local tempmaxp=r(mean): ~- i' D$ x& @
/ a8 v6 s2 n' n
}0 t9 |( v, P& I6 Z' v! `' j
" _8 T2 v4 f/ j/ ^8 H% H
}
; {. [+ ?$ M9 x9 |/ i, Q * {8 @9 `' y" g6 a
else {/ o. H4 _. L2 B7 {5 H; X& p7 i
* S! [' }* p8 D8 z
keep if ddy240>=r(max). j3 z5 v: g8 [
- W" M o/ O0 Y2 d8 Q% @2 o' `1 w9 \3 M
sum dx240
6 z9 X! P/ |( h' k4 z( t : {, E% c H* \ H0 @4 e# \3 n
local tempmaxp=r(max) ) A0 R. P/ @* W/ c; R
restore
1 g( F) q5 _) x# ~. I }5 ]5 ?4 e1 Z) O+ m1 B) q
& j: M" L: _! i
5 z0 q# k5 i% W8 a) O% u/ T+ |
3 X+ \$ w* K+ ]' a0 T, k# ~% \( B# T9 K
gen maxp=`tempmaxp' in 1
( V# F! @1 C# ~) _' X7 ] $ S+ `% s1 G& @
*240maxp- H9 \- z# K) G9 r4 t& z+ B' v8 [
( x' e6 e# p8 f( X5 ^0 W+ L6 L3 Z
0 j4 _5 w5 a" z) y7 m *-------------ddy240pminp左侧高峰值-----
( n! X! o& R" p
% V5 r3 Z7 Z. `- }* h/ ? preserve 5 U" {5 E+ P' ]. f4 z, _
6 z1 M- x# k2 |4 ] keep if dx240<`tempminp'$ l+ u, M# w9 V4 X; G+ T/ P' c
2 a; D" c8 q- v- {" C0 }7 V2 w
keep if ddy240>0" i5 n0 N* x6 Z* [ D+ p
5 R: ~+ d8 X& ]: A+ h count+ E0 o' N4 a& g
. J/ Z* @4 s+ K( N5 I6 Y( E if r(N)>2 {8 }4 Y7 A5 Y2 ^. m
; H3 J R' q9 O+ @6 R0 V5 A5 D N/ e
pkexamine dx240 ddy2402 r; b# G2 K! }# {& r
& z* M# P) P$ U
local tempminphddy240=r(tomc)
) P$ i( M2 I. l restore. K; f! ]" u0 y2 P, ^
}- S6 j) f7 X( B2 L1 U- h4 y
, n# ^) j3 g% |/ L- L6 B4 ` else {8 e) M; p8 w* F0 g6 I& T3 T
restore
3 G$ n, R: D# m0 f9 d) R ? di "cannot find pminphddy240"/ k1 e2 ?- k/ v0 F H
+ W6 L/ K1 }. Y0 {
, S, ]" E1 _1 ^: l4 U! j sum dx240
4 ~- b0 q$ Q% K. v% Z5 |/ w0 P local tempminphddy240=r(mean) : l' e0 ^2 } d6 z
$ e( U r6 X$ n" d) m
. x s0 O" ]$ e' x
} _; e' f2 Z7 C; P1 v5 s4 X
1 s; j( P. {5 ~5 E% |* Y% J) |5 t. t 9 ?: `& w% F* c: e2 c3 K% X
4 V1 r; a2 M9 G, T0 | 8 ^" V0 u8 G; S1 F
; u* w3 |1 X2 r/ B% Q
h* ~7 a; q9 X$ v# |* {7 G, T gen pminphddy240=`tempminphddy240' in 1 W+ m& V/ V$ H; h
2 V+ t) q6 p4 I
" r! H) }/ v$ H *-------------ddy240pminp右侧低峰值 -----------------
5 Z7 t/ u- Y$ T( \ preserve . |# q9 q4 s, s
5 m; j/ A- W3 ]. o5 [! w& Z) F keep if dx240>`tempminp'" D( {( C) w. W1 L
; f5 K, Q$ m0 r9 f5 M& ]' {/ e. } keep if dx240<`tempmaxp'8 _% O9 Q* r+ e8 G1 s' T
, P( H/ I' A9 v3 ?
keep if ddy240<0
4 Z8 h% B9 B9 L+ ^# N
: I4 G5 E% I& r( _; S gen temddy240=-ddy240' f* l7 H) ^0 }- R
0 f& {$ L. w% h% Z count& \ D2 k- q' J7 F; H' Q: ~+ @7 |* C
% d3 s! s0 ]8 t9 }( A if r(N)>2 {7 M- P. B0 e" l7 G( J0 X
8 L$ {) m" [ f1 d, N1 p pkexamine dx240 temddy240" Z* P: N& b, a6 L2 L5 {. `! _
# }8 P( E9 a6 F @4 m local tempminplddy240=r(tomc)2 W/ L+ S' W: m0 \/ `: j7 o
restore5 s& J8 p/ o( S
}
; v( `5 e- O( L" _7 e$ d ~( Y! w: [; K* [+ x# ^
else {. q3 ^! C6 Q0 K3 r0 B
, L% y7 y/ r5 W! v& c
di "cannot find pminplddy240"2 H) Y O+ ^4 ^4 q
restore
- f3 {2 _% k( h, W) T
; e2 ~4 `6 Q8 b- k% p+ ?4 N sum dx240
" A" c+ X. p5 D; U% l) v local tempminplddy240=r(mean)0 H l- M/ o7 g
. {: x, w* G1 C; `! Z. ^
. ^, c4 I( _4 p+ o) a2 [ }
* E; `9 N7 S- ?, ~+ v / N H @+ s& P$ ~# M! \
0 [8 t% |( ?& }9 _/ N& a
K8 L/ r0 z2 m5 _! f0 l0 L, p
' z+ Z# D; E5 ]2 W # ?4 F5 q+ w7 b2 Y9 f1 l
gen pminplddy240=`tempminplddy240' in 1
2 @& V/ F* x) M9 X, e ?
& J' J. W# \! b% E% f! ~; S& n# {. | *-------------ddy240pmaxp左侧高峰值 -------------------& B( \6 T8 p$ P4 ]5 o
/ u. h0 Q* F2 D# K) k% S1 b preserve + T4 a+ A' K$ r+ B: u7 x5 P
! |$ J1 D# P0 Y* T! W: r# k5 p keep if dx240>`tempminp'
" n4 V& _' B, [
+ E) ]$ Q( R8 V% V' T5 l/ a0 n keep if dx240<`tempmaxp'
8 t3 w0 g: W U; e 2 L2 F$ D/ Z5 h M) y
keep if ddy240>0
+ N! ~- K. }, k a/ z count
4 `' h2 j- T9 W% _& v9 d ! ]. Q, J6 j) [5 s) C q
if r(N)>2 {
! l+ ~; Q g8 I
( X" M+ ] [) Z b& U pkexamine dx240 ddy240
* t2 I' o* f |8 H( Q 7 W# y' _* s2 e
local tempmaxphddy240=r(tomc)
) L( [& P, G* h9 I- M. o
$ V( T6 Z v; {2 O restore9 u ~3 z# S5 i( { }
}' n( `2 H; Q* b
/ ~, m$ b$ \' H( N0 Y else {9 V/ O0 @! _/ C- a
9 M/ X" P5 l% R/ b( P/ b di "cannot find pmaxphddy240"' I' a% Q9 P$ Y* K
restore
! I" x/ u- r& m, q9 u1 u6 `" ~3 o $ e9 s6 q0 Q- B0 H1 W$ t
sum dx240; N, f& O- L& n. p: w( i
local tempmaxphddy240=r(mean)
9 [0 q. N: P- U' x, ]- l; }
( U/ c6 A' d7 x% x$ P" _1 D( W ; |: i4 p& V' {( E% B( _, R
}
0 W4 Z8 d# P. l, i6 }' t 8 {* N. ]! a8 Y5 R
% e: R* {: H9 {8 I ! Y( d- o& Z% z* ]
/ |0 U" b/ S3 @0 H6 \3 ^' m . m# `/ Y4 U8 I; J
2 J/ z) H$ M: x4 A% \: ~4 C: R gen pmaxphddy240=`tempmaxphddy240' in 1( |- L+ s' k1 w6 K' }+ F
# O% q" v8 v$ m# L 7 n# R% H; I6 y d0 `' x$ P
*-------------ddy240pmaxp右侧低峰值 -------------------
% q% l; v1 F3 d6 H5 I . L3 Q. [, o- e! q+ G" |
preserve ( N. n, f4 Y$ B; g. V
( o( z5 @4 a+ l1 B' E keep if dx240>`tempmaxp'
; {" Z8 Z% d% G) g H , m: N9 Q- k" I" o% h9 Z
gen temddy240=-ddy240
, A- X. W8 r- L5 T 6 y0 S/ ]8 X( I: l% y& ]
keep if temddy240>0) C9 Q2 e0 r; i: V% F7 P
% ]& u: z8 U' {- K6 P. A0 [ V$ Z count
; V2 y, Q' V7 w' u* X2 f8 j2 q 7 k+ Y7 ]9 J: z5 _# g: X5 X) O$ e
if r(N)>2 {
( k; ^& f7 x$ b. y
8 `! l: y9 S2 ^: A1 m pkexamine dx240 temddy240
* f1 O# E/ @$ r$ s & K( L& _3 M! p) Z0 ]3 v7 p
local tempmaxplddy240=r(tomc)
2 ^" F2 T" j& i" T restore
& v4 p& y, i5 J$ \/ h+ W }
4 f" c4 V! I0 ?5 m3 | % O! |6 t/ c1 }: _) z
else {
4 M: J/ R9 E4 L( n+ q1 I restore
# Z* M s, f! ~" q4 h. x" Z9 V di "cannot find pmaxlhddy240"; g4 z! G* w) j+ C, E! k
/ `: g% Z" \: ?$ c4 I" X
8 j, q3 O7 [; h: Q" H- L sum dx240
7 W- E( j8 U5 T3 w local tempmaxplddy240=r(mean) in 1/ u; s7 h- J- G
_4 J+ Q0 f; M1 y" P( h
6 q7 ^7 h3 c& C5 m }
2 }5 @9 D8 ?& r! V# a5 V ! c4 B! e9 f/ A" P
$ L% d( h7 l# j6 @/ L. g9 v5 K
9 O7 j4 y6 N. {* _+ w
+ W# u; |8 B! K1 g+ ^
: }' A, o4 [ O7 }
' ^9 P" L6 J* T" n3 N: P gen pmaxplddy240=`tempmaxphddy240' in 13 x2 e% E" F. _. |
( Q3 @5 m0 t2 v9 k1 {; y2 V/ ^ *-------------------------------------
r& V; S1 R3 T" u $ L& p% s+ w S( B( \& f% o9 z
gen price5d=v5 in 1/20
: l9 {; Z3 J O! _% ~0 {
5 a% L+ }! F* R' U' P4 s gen price5yy=_n in 1/20
: [% u/ f8 n2 p' A+ B/ A% N 2 u5 S( e. L8 e; Z, ]" u- _3 q" C
gen price5y=price5yy*(dy240max-dy240min)/20
" [5 ~+ ^& O) G/ K: l4 T* c
/ M, I( \3 D+ P *price5y &price5d: Z4 H7 k# l$ i& Q
6 L! g7 U0 O% ?0 Q; P D gen priceny=price5y in 1; ^/ R* |, C' r8 k# p+ Q
, O- s; u4 I( ?
gen pricen=v5 in 1- R$ b4 _7 C& Y' F; D' P; y# y* t+ E G
3 q1 l; d7 P4 k' P# b
5 Q' Y) P! _, `: {4 w *priceny &pricen
" ?4 y2 R- n3 \# j
( {' v6 X. x( D) v) l / [3 j& Z3 v7 D5 ^
*-------------------------graph------------------" N6 Q3 O8 c G$ R
) Q( i9 d* A- p( k; P2 |* n1 V 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)9 j! `" d) u: n" W& w W
4 N4 o P; Q( I/ s3 e$ V0 Y$ p' A4 p( g* ---------可选项目----------------------. w7 O1 S* A6 H# X1 [2 m+ p
, W( M2 G, ?: d0 f9 Y$ c" z1 @6 F}
( V7 Y O3 b% N+ t1 }end, s3 y# k* w7 N6 V( z/ K
|
|