|
改了一下,这次运算应该没啥问题了+ T$ n; p. u* ?' Z, H) U
J, ^9 ^( G: ~1 x
" I( d2 M% J/ _) f; kcapture program drop hello0 r! R( O. X8 |7 k+ K* Y# ]
9 _/ S s$ x' u, f/ {1 }
program hello9 O+ F6 E$ M! [2 T1 w
+ ~7 z; ?7 A* T quietly {& d' z$ B, C' d/ w% b& I
: J0 g% }& O% g! _clear
5 _" V3 R G# |% n/ a& e& J" G4 b4 f( H1 S/ S/ l
cd e:\finance\stock\20110101\source" Y; u% s$ N+ m, M2 [5 X2 `
5 L. y# G% L. C, b/ _insheet using `1'.txt
& J4 p; i7 ]% g5 L
# f; \( V% {: j% { keep if v5>0
8 Y, i& o, T2 q
( @: Z' G* O0 G% s5 u+ o% ]+ @* s gen vt=_n
7 @+ |6 k" N! A* D. V3 S. s+ L& {
* n3 ?4 y% ?; C2 J& y( ? tsset vt
4 E# e. c, [3 ?/ d$ L1 M' E+ e2 x1 v- }
gen zf=D1.v5
5 t5 e) _' H3 `! ~
% b- V" M: F; R+ L gsort -v19 V( ]& e: M1 i* x1 B0 g' X9 h
" g$ C7 N! b: Q& Y" C! z8 b
gen avol=v7/v5
% n! Y, o6 t. {/ r( X: S3 E 8 N1 }' X/ f! |/ t* e0 z6 x6 }" }
keep if avol>0
: r" Z: m7 d* U9 u
B1 W7 D8 }$ T5 H8 q9 R; w drop vt
: f4 p4 V6 F" `' p + z9 @3 k6 w% H* r
gen vt=_n6 B& S$ t( i- N& w, c% ~9 ]
) F9 `' Q' ^0 N) \' T% v( w* v' k tsset vt$ U e6 k7 e& o" d" u: K3 ~
1 o: B0 C; m, v sum v5 [aw =avol]
& \3 N h) l2 |8 G3 s# q- m- h9 q# X4 [. b
gen amean=r(mean) in 1& U5 C- [5 E; l. U' ~0 E
; v( E1 S3 g; l. n% M) ` * 总加权平均值 amean/ Y$ c( B2 w: [+ C
0 T! u3 }6 q' A7 Y' e/ K0 S4 n4 ?% `$ u) M
# ~$ x( [" O/ F- Z
keep in 1/2403 M' }& s( x8 ~9 r
; D# N2 {- ?# ?9 p! ?6 F
sum v5 [aw =avol]- T2 y0 _ p; S
4 [, R) h `) y/ d8 Z5 p. A, I gen mean240=r(mean) in 1
$ K/ R' ~% q9 a7 v+ B+ y$ {: _/ C ; o( ], H0 U" J6 E6 D& y( E$ E* J
*240加权平均值 mean2403 U* K3 b6 R2 q6 V$ P+ ]3 H* e
0 V( ^# y; Y/ B) E O4 u4 c, @
set obs 500
# n4 Q$ m; ~" e, w6 u, z0 e% l, o" L* i ! b- r$ X2 u2 b. x8 X3 }, ]6 S
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph8 k! E- }! W3 a: \
' E; ^6 O- x% e0 H; D5 L
*240 kdensity(dx240 dy240)" o% z% d/ p; U" `" T
! `5 \( r# h. b sum dy240
g6 U# R U$ J3 g4 W& i/ Z+ V
0 L( r' g! _+ h* T gen yxis=r(max) in 1
9 g+ ~$ K+ O- w5 a
- w; Z0 s! e" A* h gen yxis2=yxis/2
- r' s" E K3 E1 E0 D ( M6 F- Y9 \- d' f' i( t4 ^0 i
*yxis( G7 g1 ^! \$ v: @2 {% h& C7 \
- @+ F( b$ Y( l* Y gen dy240max=r(max)7 U) o7 r# R. C: H+ i" N7 `
/ u7 `) E& p' Y7 Q! p% S2 ~' F gen dy240minp=r(min)
7 W# [% M; x! m, z
) C+ P0 s/ j4 b, c0 S. Y gen vtt=_n
, h% _* a3 f+ J6 P+ k3 F" K1 J+ T* Z: W4 I% f. K
tsset vtt
& K! c) N) i$ O: `6 f1 V4 L% `) g+ v8 ~( k
* C( w$ d2 G! J1 H+ V gen ddy240=D1.dy240/D1.dx240
" j' H; p, `5 b1 P) |4 p ! ~1 M C9 @* {5 U$ ~+ @
sum ddy240" D1 u# ?% K1 t, Z L; f; n9 G, y
" d8 }7 j" P/ ]0 u1 N$ I) H gen ddy240max=r(max)
( B2 l |. P$ C
: q4 w0 }6 _( y. n gen ddy240min=r(min)* j/ O3 @& g: j
- P! Z( x3 G; B0 d6 N# ^8 H7 ?$ S gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
+ `$ { S6 g( u' _$ R0 V + r/ P& L: q- s
sum ddy240g
8 [. \: r) `7 X0 S, L+ @2 D - G' i. t- b" |: P) F8 _
gen yxis3=r(min) in 1
1 p! r+ u) q: T7 v, {
, H. y ]0 X: f; j7 n/ ^9 P) E gen yxis4=0 in 1
1 J1 [! i# R) o6 w
8 `# u4 M" y N/ b *ddy240g 8 A/ q2 q0 Y7 @8 R8 j0 _* W* z
- ?2 |8 r( q Z, n& S, M$ J% [ 0 y# s4 e; V- j4 v3 {1 l. K( L
preserve ( {. P" e3 e' @" \+ Z' l
4 k8 c+ L: |( x% ]( X& a9 u* h( m
sum v5 [aw =avol]
8 Q2 X* m# _) }+ n1 B3 u/ b
+ Q; U& d" d, L4 t& ^ keep if dx240<r(mean)" k( z |& E/ o# c
% d7 F1 w4 q' U
sum ddy2402 c i# [* C4 F4 N/ }
) ]9 f) a; F$ V8 Y if r(min)<0 {
+ P# b, L" h, K& h
2 ^! ~: \) U+ w- l keep if ddy240<=0
0 ~! M& F# i5 k6 \+ T2 W. j
' D. ]+ O/ b* {( ]" C3 o; U9 N; V8 H count
9 J0 d2 \# O" m( Y/ F% s6 v ! G. r) x9 y% p, [- F% `
if r(N)>2 {
- l& ]+ k) w+ e0 Y
S4 u4 ]. p# V0 U& ` pkexamine dx240 dy240$ K" F, \$ o: j5 u: u
3 B+ w( M7 Z5 S1 y# w7 N7 H/ p/ f local tempminp=r(tomc)
T8 N6 [ Y1 Z! R6 Z) A4 w2 d restore , r5 ?0 M0 H: _8 I
}: [/ s8 h$ u* e& [1 T
0 E) ]# g4 x g- g! H else {" m- X% M: v+ e- L
7 V* C5 Q8 U- p B3 a
di "cannot find minp"
, }' S( t1 b% |0 h5 ?6 R5 y ! P; r8 ?3 \3 f* Q- R! L. c
restore / d! B* w/ }5 |( `# ?
sum dx240
7 ?/ L3 E! B% R- w local tempminp=r(mean)
0 M6 J; k& N9 _) u" H * X$ v4 R' n$ {& g. v$ _
}
& B, g. E' @9 c+ { }
5 o W1 }0 N8 V4 ^1 e2 R* L2 n else {
3 [* P3 ~6 L) Y* ]+ x3 s) m & w8 G, _* y+ G( f/ h9 F% p
keep if ddy240<=r(min)2 T) |3 G% D* p E. K
( d0 K! e1 |4 ]% ~8 X+ [. r1 A2 w9 F; n
sum dx2405 {( V( f. N. Z" y. R, x5 W H
0 z5 o. ?" ]( d. I5 M. V
local tempminp=r(min), C5 |% n. f" k
restore
# v3 `2 H* o! V+ O' u' g. m* P) | }
9 U+ ~4 Y4 Z7 F3 z6 v: q* d
! p" U2 Q/ @8 C: b6 c) Y1 a" s( [- p3 p: W
- u1 d5 t( E( m/ C8 J
gen minp=`tempminp' in 1 O, a' `0 U7 P) D; g
*240 minp1 r' C. Z+ D0 n! r( B. v$ a' q
# }# }5 n* `" b* C! v1 j& k7 M' r
5 h% t- {& a" {
* N8 Q9 M7 {1 u
preserve
9 z$ T; V0 I. j" I" k % i2 q) Q7 x; X7 _4 |! Y. ~) R5 I8 w8 m
sum v5 [aw =avol]( r5 O. H O8 T, w
: S. T" B8 }6 E/ j1 y" p
keep if dx240>r(mean)
2 c$ E2 [7 r; P1 z* f5 S1 B $ l1 Y5 N# P2 o$ p. Z, q8 w V
sum ddy240
; C6 [ I" b9 e% J" f5 E
; Q3 z, A1 w6 b$ Q7 i; V- `9 e if r(max)>0 {+ A# w0 V8 v9 r4 s g
$ n( O5 M3 _! z* g X/ ]3 n keep if ddy240>=0
. W4 F9 }0 j" l* j
' N. X$ a6 c1 x) K: t' ^ count
# S; S; }7 _; V+ Y. d0 y4 v 3 \2 ]; n( M: P( H0 b
if r(N)>2 {
' K1 v1 K0 q; J' R
- T: \9 p: ?4 B# E pkexamine dx240 dy240
) F3 l& z% w: Y 8 t# i) x7 d3 ]. k
local tempmaxp=r(tomc)
3 L+ ]2 m1 p6 Y/ S. E: x+ Q restore
2 K4 N W0 Y+ V" z }6 l5 W. \! Q9 G8 h# m; I# B2 m7 f
* H. ?# P# K/ i
: H D) e- c# l3 J( {/ U
else {
, K f( w5 u8 v' x( R$ h restore
& [5 p. p6 n% v; M4 s di "cannot find maxp"0 a9 W0 m$ |. d) T6 d4 l R5 v
- L6 D$ E4 V' O! z0 {, ~
: @) k# w. v8 v6 {3 f* Y) l r sum dx2402 D0 H9 ^3 P. [ x
local tempmaxp=r(mean)
. P9 D5 l1 x0 S9 o. j4 {) h ) H( h0 M1 @( P3 ?$ r r& C: v
}
0 {1 J8 W8 u( O, }* E" | 2 {4 h7 s$ m$ j* f1 _0 z
}: V. m- v8 W; c5 j8 ]+ f' A/ I5 ]8 i. C
' @ P( H* Y$ _4 R else {
5 E/ D6 l5 `& ^
# e( {7 T/ i0 j1 | keep if ddy240>=r(max)9 a$ `6 P. K# k" |( \# t3 U7 s
/ X$ K1 }( t: i3 F- ^1 P sum dx240
6 o( ]9 i! n2 }1 S$ l2 {0 U. E5 R . a5 t$ r! Y8 O7 ?* d" g
local tempmaxp=r(max)
( n1 g1 y8 C$ f z* `. b: n restore
7 n9 u7 M8 }. K5 ? }" ~$ G P- v! v: R
P- k5 \7 e5 Z8 t& K4 x. R t* m( c- U8 ?; @2 F
$ U# k; L! k( H" I# @4 {# u
4 z# m: J# J8 [, u gen maxp=`tempmaxp' in 1
6 \" S. a- B" |3 i
2 N, d9 K- J6 o/ W& Y7 ~2 r *240maxp7 L# l% K1 j- K
* _$ _9 Q; |7 i" G# e; j6 j$ ?, E6 w
) \; b% k( ]. M; w+ d *-------------ddy240pminp左侧高峰值-----
. a1 |% z( X B- z" F& x( X( h
( D* f' M; @7 n) f9 s preserve / ^2 V- V Q9 z
7 s* p0 Z# x% @/ O! p8 P% {& E
keep if dx240<`tempminp'
3 p5 y1 j; }! j3 B8 p7 v
. l5 s3 m [7 p$ U keep if ddy240>0% J, `# b- K$ _: W* v1 I
5 F4 ]0 E9 y8 T4 A2 ^
count
6 u, B& K8 F' ^1 c$ S3 l+ e
2 U( W N, B4 l& O if r(N)>2 {, n6 r- c" ~: V" B. \) Q* B& n
/ S* {/ u+ V' t9 y3 V, O/ j
pkexamine dx240 ddy2400 b; J2 r& F0 W3 ]8 \
( J6 z5 \3 [% u# G! T' w
local tempminphddy240=r(tomc) 4 _2 e" G% h+ }& a J6 B7 E3 i
restore2 U; I$ n5 p, H& X( r) \2 [
}' U( R. j( E% P' m0 n
) z8 K8 P$ j% n else {
8 P4 H' N) X" z; C7 z- u restore
7 R# j1 w$ a+ N4 r, Q di "cannot find pminphddy240") r8 o6 I3 n# D/ r
3 ^! e* c$ _" @
5 p% c0 b+ R% D- F
sum dx240! B8 m" x: z# D( j
local tempminphddy240=r(mean)
7 \: W( c& [: O0 j& a9 b) d- w . V8 E* l: L5 L' u4 v- c7 `
A% j' D$ N' E5 j }
$ n$ }: g$ b; \3 E' `! v9 j 6 u1 r1 } U* p" X6 M# z; f1 X/ `: }3 o$ |
2 P' M/ i, _' O/ C2 o. @1 l2 E
2 }) _: B+ |7 [3 n! ^
( \: d% e3 ^. C! v- m
, f a O- L0 t # v: a2 K0 R$ f( |, v' _0 P
gen pminphddy240=`tempminphddy240' in 1$ K8 b9 ]. s Z5 D* E
# B. b8 v3 n) E( e' S5 ~
@5 Z, _9 F H4 p! U6 M
*-------------ddy240pminp右侧低峰值 -----------------( e; w7 s- @* n7 u
preserve
' ?* v2 I; i; `% f4 v8 O4 F ' y# k. q, h9 W1 {/ x
keep if dx240>`tempminp'7 Q5 K% Z( Q P5 ?& q* ~
' m* m' ?7 J1 Q, q! y+ J9 s keep if dx240<`tempmaxp'* v4 D' y* E2 P+ o' g% M+ `
; b1 K" P3 G0 u A2 | keep if ddy240<0
- A6 H8 Y, s0 y8 z3 j G
h' k$ Q% H- H1 \ gen temddy240=-ddy2400 X8 _8 R; y+ g' P4 g
# Y6 o' \2 [% j6 ?5 O count
2 J' h; @2 ?8 z# u* v h! z
0 E( d% m! W8 q0 R) K; x; M if r(N)>2 {
: t* D/ k- r" h ]+ V( }. C + ~% [! }% N/ o7 l4 @" q' N
pkexamine dx240 temddy240$ h" [) K; n+ [' ?
( S6 Q8 K+ H: m# U5 c5 m; Z local tempminplddy240=r(tomc)
) N0 ~) d' O0 h+ I% Z- \ restore
! S5 S* w/ ]& H2 M) M' _5 [3 x }
9 t+ i/ L. M- [! g$ p% R' l' }8 h
( v0 m9 D, K( c5 Y else {
- _& ]2 C1 v7 S, t
0 h" T* q1 l6 u$ x* w di "cannot find pminplddy240"
0 c# P# } _. c+ } restore/ [8 G7 S. ]: R8 h$ j$ P
9 ^) B' T% l. C6 k) N sum dx240
3 d4 ]0 B- B9 I local tempminplddy240=r(mean)
6 } g( _& L3 }( N / W# X9 U" v% l2 A6 ~/ Q
5 S5 e* @/ I! A* R3 I
}& ?6 w( ~6 S& H- O( b- v/ Y( z
; r" Q# g) t( M 3 f- E2 T3 A- L7 [8 h ?5 F; S
5 H# b" V# X) U3 }8 A9 [ " B% w% h7 u2 ]1 X+ a' B5 _
: O. P4 x( Z5 S* P2 x2 D) J8 Y/ O
gen pminplddy240=`tempminplddy240' in 1
: j" {$ Y" a# n ( n0 G5 Y, A+ O6 I5 q
*-------------ddy240pmaxp左侧高峰值 -------------------2 V" |3 }* Y& j: Z* c! P( v' M7 X
b2 N) \3 s& I6 `( O preserve
0 P! z4 G: ^% k- q# u , B$ P- Z( R5 p) G5 g! p
keep if dx240>`tempminp'
/ |* V: v' b% L4 g! g
/ L6 W' x1 g1 ^ keep if dx240<`tempmaxp'6 u' b3 k, \8 M* k) V A8 M
+ g( F o6 R9 v0 O6 f
keep if ddy240>03 I4 S) B, }9 B" u- D+ N$ g
count2 C1 y! h, K& [9 B) g' }7 a
9 Z- h1 ? u5 g* m
if r(N)>2 {
, O9 W# m) V" k- f: D' S6 d4 x1 @; s / d5 U+ V4 F9 e# Z; {3 A3 f
pkexamine dx240 ddy240
$ @. Y, s. X9 F; j 5 F% V( e, }% O) ~8 d! [
local tempmaxphddy240=r(tomc) 2 ]: v4 a* O# R: a0 E) K
i7 r) \" A7 g! h' W o) c! v1 W" Q restore6 |" i3 ]$ D. s5 T* U+ b
}: I$ a8 X3 y; L: I3 p4 p- a, ~! Z
. D7 P9 L3 N" P1 t: u else {% q6 Y- H8 {# r7 d( O1 C
# D7 g- w7 _% k. V% M9 W! c3 y
di "cannot find pmaxphddy240"
2 O* U J, y' Z- k restore
. E" B( e `& U" n 9 ~9 X" O Z. w$ T: {* g+ J: S
sum dx2406 ]( Y+ F) O+ {: N0 ^; k
local tempmaxphddy240=r(mean) " m; w0 o, |: g1 d, [
" O* A0 G+ X: Z w1 Y* i3 y
. v" B2 p& A: ? }
+ t, d; o) ]' H 4 l. ^$ i" F' S& g7 @
: S( ^9 s- F/ j' w: h8 D
+ M& x6 J0 S) [' d# v3 E# C
& ~) [7 L, M: t! g6 F5 O1 V$ T' K & |# L/ T% O; @9 o) ?+ B$ ~/ ~
?9 F( w4 U1 x8 Y gen pmaxphddy240=`tempmaxphddy240' in 1# [4 D( h: }' m- n8 ~8 `' l6 `, h8 L
3 c2 @8 t8 O6 m% H* \ v
% l8 }; |) X/ y* N *-------------ddy240pmaxp右侧低峰值 -------------------. y0 w* G4 @- ^: |8 T% y, ?
. w. j3 O5 _5 B- t$ ~! N1 ^. r( P
preserve
2 A& K' Y1 y) |7 ]* ~ ) L7 R' @7 f w) g
keep if dx240>`tempmaxp', w) L" N( L# [, [# } N/ i
+ f3 `5 \% @- ]" I8 h B9 V
gen temddy240=-ddy240
- m7 ]/ z9 Y2 Z
3 J" G' q' R7 N/ Y keep if temddy240>0
7 f5 A3 n# l8 P* z# n. @
" d: {) n9 B7 V& x/ e- m, H) X count" l$ m z& i5 {. p C) g
7 V' G/ M' j. M& L" v if r(N)>2 {; g' K3 o( m7 d, D4 P
2 A( B/ a& Q8 f3 R1 i) Y& i2 N, T pkexamine dx240 temddy240
+ q# Q6 g0 p$ W% [) D 0 ]$ }' J) P5 y8 T
local tempmaxplddy240=r(tomc)
0 n# R' h5 ~7 U: f& M restore5 n$ L5 i! w" O6 z: W0 t. A
}
$ d A4 b, a( W1 C . O, g, M8 i+ x+ @% m! U
else {5 x" B1 _$ V( @4 i
restore6 E! _9 s& F& D& \9 ]
di "cannot find pmaxlhddy240": t/ ]' N9 U# w, e5 o
4 v, K$ D+ T c/ C# N
* M# X3 q0 }- S; E sum dx2407 C4 u% w5 c& Y6 i
local tempmaxplddy240=r(mean) in 15 [1 w9 D8 C; @$ Y9 u& e/ H
: ^ [6 b+ l. J# h2 e& {" ? 2 s9 a s% H* c7 A* ]6 C# O b: T' w
}
5 q# H7 Q& F6 @/ _2 Z+ s7 b7 J! O / q. L2 p( `4 E$ c$ D) e% H
5 B7 n4 J% ~$ V) B4 M2 u / A" s+ c$ U" ?8 X+ t2 H& W$ n
2 `9 d1 G- H4 u7 r y# X4 o 5 }4 R+ C9 X0 g r: q+ g" t
. J6 Z9 i/ u( t7 F4 T7 h5 Y# @ gen pmaxplddy240=`tempmaxphddy240' in 1
# L7 S; p/ U/ k. O
$ q" d" |- E$ a! Q *-------------------------------------
5 K! H: l: @. d
8 u( Z. T& p0 @* H gen price5d=v5 in 1/209 `' F4 G1 C" P) r. ?
1 }: J8 r6 S( j6 F& v' V- e gen price5yy=_n in 1/20
- N' ~& K {4 C; C# e3 |8 Z! b % \6 p$ [6 s1 l0 H+ a* j0 h4 t
gen price5y=price5yy*(dy240max-dy240min)/20
: N/ g* t0 E% A6 H6 |% n7 \
C' J* C l: W& O7 o2 M# d *price5y &price5d
( w# r& \ }' n. {$ S 9 m( _7 x+ b l* p
gen priceny=price5y in 1
3 J7 D, n3 z2 x6 b1 ~
+ z8 R# W; V3 L+ k- h, s k3 T: K gen pricen=v5 in 1
% L. h$ q9 {3 ` r" ~5 N3 O0 W' V! o2 f9 K+ X* u$ `
$ f, @4 Z6 h8 N6 u p1 R *priceny &pricen
# H8 U4 ]* D5 I3 H; s1 l$ ~ 9 i+ R% f. _/ b( N% \7 ~/ h
% i5 \+ y& N7 ?, t) L1 x2 D& z N
*-------------------------graph------------------- G) j" L5 s6 ~1 W0 d
( P( T6 P& K3 E" E 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)
8 B& B8 N9 t4 a- m: L; l! A" v8 R$ u0 [& }* {$ z0 t, m
* ---------可选项目----------------------( g: C) Z! S5 J, {1 G
" W' S6 ~' D9 N5 R3 m5 z. p}
4 K7 p( u/ Z- W& X: Kend' K8 l) p! e4 D/ x& W# f4 m- o
|
|