|
改了一下,这次运算应该没啥问题了! V; ?5 U9 F+ C+ l# E+ m- ]
5 \" e- o% o! s) p* t6 E3 O6 N- X1 j H) n
capture program drop hello
& I3 j' Z( R2 O* M
2 L9 X* W' ], Y/ u( ^3 y- Rprogram hello
9 w( p! k, D: Q/ K& B; ~
. }2 R1 r7 g, G# W2 [& P4 T: V quietly {
3 n! g! y, t) i/ ~
5 E" S( k# i" I" uclear
. a# r/ ] V, h# O! j) ~/ d& }" k( F% d# Y% e1 f- w) [" H
cd e:\finance\stock\20110101\source
; E' y- S0 b6 `+ B3 e# |* A( N! {! a: I8 j+ N
insheet using `1'.txt P1 `; x) ]- G& {8 R# d
2 u9 k( T6 C5 r keep if v5>0) P% J# d4 H( ? }# s- d N0 C7 I
2 w* Y& g1 ]" v( D0 s
gen vt=_n! l9 b8 P+ x2 z0 {) Y! K
3 i# C0 {' w% ^
tsset vt
) G# z2 P' ?) H& m% ~ M( m% l6 L
' H/ y5 {1 ~) W6 ~& V gen zf=D1.v5' x$ _- v6 c. W& [6 N2 @% }
+ F4 H. |9 M# E( s3 d+ q
gsort -v1: L8 p* N% s7 S- P' V: Q( I
' b* O1 I9 D8 G' `+ B% c
gen avol=v7/v5
; n( a1 o: I: ^0 ^+ o
) l* P! R7 y* @5 U keep if avol>0
) `# Q, N7 |# y2 J
% Q- X. Y2 {' }! ~3 K' Q. R; Z drop vt1 A! @; [! f0 |$ g( L! Y- [
, u' A" `+ c* E* Z4 ^9 w8 e
gen vt=_n
0 C3 X2 m3 O4 i- G5 R" V
* g( I. I2 l9 c' x( [4 V tsset vt
% l: I0 ?6 R* j+ k 4 t+ f+ U1 |$ o" r; n, \
sum v5 [aw =avol]/ I- L7 K( h" Y1 D" _$ J
. H' c( |( ?* y# o' W+ Y8 @1 k
gen amean=r(mean) in 1. q5 u+ O% j# `" y0 x. i. v- D
5 G! q+ l! Q4 K+ F9 T4 i
* 总加权平均值 amean
: z3 W( O) O0 r+ e) f5 f 1 `9 V0 P: C( g, H6 }4 A, v
; ]/ t' O1 v& p1 {8 j
keep in 1/2406 ]( Z# X6 _- f( L2 Z6 Y# L
w s& B9 [0 n+ }0 j) c sum v5 [aw =avol]
% x% u, v: O2 {( t" K1 X9 f- B
" p ~. C$ s0 _ ?. x- N( J gen mean240=r(mean) in 1
( r" q3 M7 O- X" ~, @
& _' b3 y3 g% u *240加权平均值 mean2409 l" e2 l) i0 k' n% H- t
3 {3 T+ U, `( _/ K
set obs 500 ! ]" |& L ?% I% l/ F, d5 o' i
/ J7 [( \* O. @% ` u
kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph# s9 ~2 f/ a+ w% H
* x/ Y3 t5 N3 u8 [9 U, Q% R* @/ p *240 kdensity(dx240 dy240)5 w9 t7 C5 f$ M% a
3 o+ ^; j7 f, O" T1 w sum dy240
" ^* V k% b7 O% g+ ] : B3 [, Q+ x8 V0 F2 f
gen yxis=r(max) in 1
' q# y( ^' P( V) |6 S. K, W7 M
3 ^2 o. B4 x) f2 { gen yxis2=yxis/21 b6 ^% f# n# Z4 O: x
; X, \7 Q! }1 i% | c4 @/ w *yxis
. W; s* a! C( @6 }# j5 f2 C
4 n( }2 \1 i* f gen dy240max=r(max)1 |- K( N2 ^5 {& Z
/ q o( E1 M) X' `; p0 n
gen dy240minp=r(min)
9 U- D7 P" l) e# ^9 d: F 8 k& P. }# k6 ^
gen vtt=_n5 q9 S9 L3 t9 t) g
! N; G2 a: f! j [/ { tsset vtt$ R0 o2 _9 r1 f
. z5 }. z+ T3 B/ T
gen ddy240=D1.dy240/D1.dx2404 ^% ]6 T5 K& h1 X
! {( l" Z- R6 y# T; A4 i sum ddy240
& T4 v) I2 h) h* ?
. p4 F* u! G8 ` gen ddy240max=r(max)
6 Z5 o( |+ T% h* k ' U$ K" }( |; {0 D0 e9 z
gen ddy240min=r(min)
( r3 d) i/ d3 c- k9 Z9 k4 b . m7 ], x2 g [: f/ e9 \
gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)& Z& Z+ e" z6 Y# Q1 A% w
' I1 S: n. { e$ f" _0 w1 @, z7 b sum ddy240g
) u$ x7 d' e4 @) s
$ e4 m& V8 p/ p4 h gen yxis3=r(min) in 1% W9 }4 k$ L% E! B, B
* j) {7 Z, x" d# j, Z
gen yxis4=0 in 1% c! |3 d7 W, m3 J% l$ p& ~
& D# t$ Z, u$ t9 ~5 ^3 d *ddy240g 9 m6 y1 A& _+ J9 n! x9 `
, Y8 v7 T; v2 A6 h) R8 ^ $ g' K7 U! \- k# K1 L- }
preserve
* W! b. T& v; S: W9 G - ]% E4 M! ~: H3 w' a! N3 D: b
sum v5 [aw =avol]6 |, g. _: G8 _( Y( j
8 v& }6 C* R m$ @) S# U D keep if dx240<r(mean)1 }# y5 V$ Q( G6 s
* H* I: \* }3 u8 W sum ddy240( W, m' O X& W" b
/ k' E/ D4 e1 ?+ E
if r(min)<0 {
# x/ q$ a9 R2 q% ^ s; a 3 s2 B3 Z6 _+ }
keep if ddy240<=0" S2 {5 y9 o% q( Y" x2 n& X
- s m. W8 [5 e0 l
count \3 b# Y5 A& q9 g( d
0 R. S# T8 @. w! W if r(N)>2 {( U( u- d- L3 Y# C- c/ |+ h
3 m+ `* F2 Q8 I( z& K: @0 P' ] a pkexamine dx240 dy240/ c. x* s$ b; H: y+ k( v
: |- ]0 v( ]/ m4 P/ @ local tempminp=r(tomc)1 X. K f9 R3 C( ]0 Z0 s
restore
' K8 M. b' L$ @. g }" [* ` z( _8 u: H" x B4 X4 Z
. G! L0 U" `- R& w/ L9 s else {! }6 n- \4 m; Z0 b
8 _) M: _( j Z- g r' P
di "cannot find minp"
1 T0 T! j8 N' t, q' H 6 }) V g, U, r9 w9 h, l: M
restore / P& X" j& u0 r3 @! D' ?
sum dx2401 o+ Z) p# n6 z; L5 q
local tempminp=r(mean)% Z6 k, A2 @3 Y/ C }
& o/ |8 b+ P/ `. F( w* h2 f0 K
}
8 Z) Y& N' `3 {. {" j& I }% g+ n; o7 J3 t0 p/ X" t: `6 ^
else {* n3 f( A Q1 `5 i% W
% D+ K0 B' j q& P6 q$ Y' P keep if ddy240<=r(min)
- n( N) N" W# A / Z; b `! d; ~5 L) X
sum dx240
" {4 W& j" V! |) D6 W l Z8 z7 Z
2 |& i7 l9 [ W( {. B local tempminp=r(min)! z7 O5 t2 T, O o: b& D. I! k9 L6 |! K% j
restore
+ m2 \, G; f; Z# X5 | }2 n& a) E% l9 F1 e: U
9 s' f4 E" t/ |! J
6 S. M$ b# t0 K9 l4 k+ h8 v7 }. J# g
gen minp=`tempminp' in 1
, V& X% [ R3 b; u0 v, G *240 minp
8 e' `$ K# K& v% z$ M
. g$ h( {" r& T6 r: z
* U& o: H$ ?& W% |$ I% X4 ? $ R T7 u1 B1 n- M+ d, G
preserve / {0 H& j4 U3 N# ?4 J
' ]% R0 U4 f6 |" a/ Z, ^4 N4 O/ G
sum v5 [aw =avol]* t, P3 v& i" R3 p. `7 G, w3 I
! o0 I: A7 x8 l6 G% Y8 I keep if dx240>r(mean); W6 s; A9 R( r4 M/ E+ g
; V( W9 J% H J! S9 s
sum ddy2403 O# t8 x T: M; ^
+ Z) j1 P& i R+ ^- U0 ?
if r(max)>0 {3 ?( g- u$ U5 t( d9 g1 ^
$ F5 M! ^5 p+ o0 e e. z8 A
keep if ddy240>=0
3 `& R. J+ r1 G1 L r% @. y- x
0 Q# y0 `% I( H6 u4 P count
- _! \2 U/ d& P0 c& B: [) J $ v" V" T- T% w4 M& P4 b3 w- C
if r(N)>2 {# H; k# w! s- U9 x7 g) x
7 Z% ?- {' e# e* s4 ~+ J
pkexamine dx240 dy2407 e8 J. Z( A6 V! _5 m. {+ V% e' G
$ F& n* X% _, r U$ L local tempmaxp=r(tomc)
1 M0 C# @9 n/ m" G7 z restore % r5 F1 O5 N! b% ~3 J& ?! m5 Y
}
) N- }: z0 c( G6 S& U 1 j+ w& |5 f1 d5 w
+ k+ ^9 n$ {. y# z$ Y4 j
else { R3 |3 T5 r- h
restore # \, d( \ T+ q% N, o7 K
di "cannot find maxp"$ N9 {3 B# q6 o& t8 Y% ^' Z
0 v5 J1 C* N7 _, Q9 R' q" z 4 m7 r' _1 I( p1 M6 e$ `' ~' U
sum dx240
; G8 e0 d+ M4 b1 C* o local tempmaxp=r(mean)
# ~! j3 ]- B# ^+ d ^0 A" F6 U* J9 k$ l# T
}
4 H9 ]# m2 G" Q4 {1 U: g" B
3 ^ U6 C/ N6 c4 }. U0 ^7 p" E( j, R }
3 j5 h4 q% {5 S' z - N+ }& F$ E, t' f5 o5 E
else {
* X7 n& G/ e# Z2 {
* s- x0 t$ H+ Q1 A- m5 K9 _ keep if ddy240>=r(max)
5 n" c8 f, N5 Y# Y4 w6 E
0 i& G9 A' [; `/ M sum dx240
. w( x4 ]" k6 T' U" v
6 N! V8 `# O" `8 J. | S! Z6 i/ a local tempmaxp=r(max)
( r' V3 ~ |0 K/ Y restore 6 k5 Z/ H, z7 P# I1 j/ b* |0 Y- u
}' p0 B% I) U+ a, j$ J
/ P5 V% C& ^! ]! [
# Z7 {* P, q( {/ q( k$ [* _
" e' e9 e( f' [0 ^$ V# t, ~0 s) B+ r2 `1 b* e) p! p: H
gen maxp=`tempmaxp' in 1# {9 p% D- v, p; s# D
3 Z" Q1 A" ~+ ^6 c8 J
*240maxp" ~) x0 f" Y5 R6 B; z, }
7 L% G* _1 p. {. _& Q( }
* x, \" T/ Y5 m0 g% q, G
*-------------ddy240pminp左侧高峰值-----
+ v2 R; T( {- t# p* V( b6 N M
* {7 s: A5 z" F5 U1 r" q2 I preserve
& W* A9 D* J- j0 G, W , o. j) f4 a; B3 Y8 v
keep if dx240<`tempminp'1 U6 A$ y. s0 K5 l8 r) W
0 Y) M8 I9 e: Y$ D+ X: A' e# j3 Q keep if ddy240>0" s: a/ Q# ^& d6 i0 L T
- f! k4 q$ h, G$ @0 K$ `- @7 ?! p) x count# t1 K% c. [5 f! c7 B/ s
5 j- V; I8 R. v6 k/ O" M( M if r(N)>2 {. v2 p, ^/ G6 |) o0 n
; c3 b- g/ ^; I' D" o
pkexamine dx240 ddy240
, l5 O1 i1 g/ }0 e8 Z" q: T. Y
2 B: v4 X# q/ S" K; p local tempminphddy240=r(tomc)
, b; _2 E H) M9 V8 x" E, \' M restore
# h1 ?. b$ [# b1 @! O. S% g }
" Y4 y i( V( G( u9 C : T) X' q& Q: D
else {. y3 h8 e5 ]* Y; I& m& T( |
restore & o! Y6 |# Z8 k: ]3 G
di "cannot find pminphddy240"
) W. @7 D8 T6 \& b6 W' I5 f1 m% O. O 5 l4 c/ ^0 I5 Y6 u
6 M' s% n$ A6 ]. z
sum dx240: F' R+ |4 t( n( F" P3 }9 D
local tempminphddy240=r(mean)
- s, C9 Y9 X' G/ i
) n' b. e, t/ L7 e/ v / E, c \1 g# \, M, k
}3 A3 J1 d9 U$ d" x/ {
5 ]8 l. |, @& l6 L& {1 {/ z& K
- L- u( X" l( [- Y6 k; K# j( t7 Z
& m% a5 R* F: v3 B7 R9 W2 ^+ ?
8 F q7 O3 y3 F2 {4 ~
/ H+ a& v6 ], g( e+ W ! s5 u2 s- X9 Y \) \8 c
gen pminphddy240=`tempminphddy240' in 1# O g5 H7 F0 u
# Z- X2 c+ o9 }# N9 g5 U2 E* P9 r
L8 K. g: V- W* T$ [ *-------------ddy240pminp右侧低峰值 -----------------8 V c) y4 T- U- ^
preserve
- }* K3 s, O% k5 v6 _
- k' q3 \& @3 W keep if dx240>`tempminp'2 [" U& j/ y4 c- I7 m
6 j( R- o4 A, {7 Y8 [6 `* A, f
keep if dx240<`tempmaxp' \# p6 W3 D. S- [, p/ H/ u
8 g+ T2 P8 e2 J3 [
keep if ddy240<02 [7 l* A9 b1 E
- [+ x. o% Z# a% N+ _6 ]5 a( M gen temddy240=-ddy2404 i, M& {$ C5 _$ b/ D: d" k7 \
{, C+ M1 C- U2 x count7 e) M5 G% E+ n- |- d5 ?
8 K9 e. }2 h4 g8 X" L: _7 F+ h
if r(N)>2 {& k4 _6 b. G* `2 V9 E
3 T; r2 J1 b1 K pkexamine dx240 temddy2405 @! i# h* i9 X O( N% W
, R7 e( d+ h) o
local tempminplddy240=r(tomc)) {; R% L/ E% U- l, ]
restore; T" n( ]: u% P P
}
' F9 l0 C$ s$ b ! b/ t: m5 c( j; x2 C" S3 C
else {
# k: L7 v5 s) G3 `2 _0 O& H: W " H8 H% L' m7 Q+ O. |
di "cannot find pminplddy240". T2 G% n' H6 c' l8 R l( e# i/ f
restore% c+ ~) C6 {) s( m8 f0 L
: S- y9 W3 h/ F$ p' _ sum dx2404 Q, O5 p$ N* n [" H
local tempminplddy240=r(mean)! y* C) P: d- }; K2 n+ u
W6 i& y4 G T1 h
- Q6 S, s4 r ]( u) |9 d- N4 w
}
% k2 q7 R# Q6 z0 X4 o4 x+ \ ( @' |# U9 k4 h5 J; x2 F2 i
+ W- d" h1 j2 U+ O9 J
# b/ `! i, s+ ?2 [7 b: k/ v $ R7 k4 l4 L" j+ w' d* i/ E: K
! l7 H% k7 }, q' Z+ E/ `
gen pminplddy240=`tempminplddy240' in 1
: V5 V8 e: d) \' Z/ d
; W% \4 Z: y; ^- j; g$ G *-------------ddy240pmaxp左侧高峰值 -------------------3 }1 |* X5 j" f9 [. Y0 J, s' w
& U Z8 ]! g7 Y7 n preserve
- M! i8 g4 W, Z. V7 P9 d/ `# [
3 x: m" B- h- C3 f4 f' y keep if dx240>`tempminp'5 l! |# |* e! T5 i+ i$ e2 V
8 o" ]7 L# {$ Q5 e keep if dx240<`tempmaxp'
! W ^+ T1 O0 ]$ S- F& l$ r5 @9 G: b
0 l/ j4 n/ S4 O/ K keep if ddy240>0
% |5 S" B7 ^& Z6 x5 z+ M5 w( W* c9 I count% ?* |& \9 S# Z' t- S) J
$ a0 T' C2 R1 } `0 @- f; H2 e+ O U
if r(N)>2 {3 X+ d( y& I3 c6 N4 B8 Q* Q k) h
$ W3 v7 L6 A( I* K
pkexamine dx240 ddy2400 [% L) ]! y% T3 g, E( S3 A2 D
% i7 m5 f; u+ T. ~3 }
local tempmaxphddy240=r(tomc) 5 e9 Q2 y1 C1 R& G" V
9 e$ e1 Q- m. l3 ?
restore
4 t4 a% }' r8 v3 X# A }
$ p" j8 O" w3 s' z8 `" s8 {+ E0 z + r! |* A* e K: I ]' u
else {( [; i0 a$ E, g
* y+ [, \/ P$ e3 e+ Q. z
di "cannot find pmaxphddy240"9 `( F9 b% P' k/ ?0 x' s' w
restore
, T% u9 e s+ C1 p" g& O0 A# A7 d/ ^9 @ 7 O. ^ e6 C( m. U' ^9 {
sum dx240
7 d; q% T4 o! i2 K; n local tempmaxphddy240=r(mean) ! d* h4 c9 W! R0 A/ D0 Q" h$ p
- B& s7 d; t" m$ d6 H - v+ o8 b: h! ]# L! [
}. {/ D+ b8 E n8 q9 m; s( J
" B4 f; O% K5 w& n4 o7 s% i; x+ h
! k. f: D( d' }4 N/ z! _
5 |! Z9 Z/ Q/ y6 r8 z$ M+ M+ k
3 S7 N, d% T" B, [
7 r- W0 o3 ^- l: [8 A) u 0 Q% |& u9 G2 R, r2 O% N- O; c9 {6 n
gen pmaxphddy240=`tempmaxphddy240' in 1
t& ~2 y7 ?# T
, |4 T* y: \/ G$ e' I. Z & G4 F9 g( j7 f0 L2 H
*-------------ddy240pmaxp右侧低峰值 -------------------
" [- O! I+ n) P4 {
, m G" y- g2 v& U T* w/ Y1 P preserve 9 X. z" }1 C9 \# D8 t
1 Y0 r* ^) z8 W4 ~, J4 H' E
keep if dx240>`tempmaxp'8 i4 }* ` b8 R! K
+ V3 v4 z( V$ L9 l2 j& |+ }# c
gen temddy240=-ddy240
, J: U6 d! T5 K2 Z
! b* |: f% q5 F4 z keep if temddy240>0% o4 A3 W* {; E
% h1 Z9 s3 ?4 @0 V+ s
count
9 w6 c6 T3 O9 d2 V ^ 6 v" n# |- o" g6 N2 X2 b
if r(N)>2 { W5 M7 b/ Y, D7 A7 w
`. C4 U6 D/ p0 ]
pkexamine dx240 temddy240
7 R9 y, C! D; J, Y% S+ {
" s7 \$ N, R$ r4 I2 s% y- e/ w local tempmaxplddy240=r(tomc) . `) P) V5 J+ i. P7 u F
restore
8 w0 I/ ?$ ~- W: E9 R, x0 Z }
4 V# R8 K9 W9 _% q: L- p: H , `! Q0 q- Y" ]/ b2 b
else {) m( _! J! b' R/ j E: R! |" T. W) q) ]
restore
1 _% j# A4 C. C) G, n di "cannot find pmaxlhddy240"# [! A+ N: l1 w" r
7 A p( _" z% Y; G
1 y" i9 T5 @2 W, ?* l2 c7 j( [
sum dx240
1 c3 d% d$ i2 X0 M) N5 r7 B local tempmaxplddy240=r(mean) in 18 |% |8 e4 C8 C; B2 l# v5 S
1 J. A" L: p7 @' e; {; q
, l! w) n& q+ \& z7 @' r2 {9 w2 ~+ z }5 z) `$ d: U8 E
& f0 E$ C8 Z, M1 V0 ~) Z; g* I
( J- n3 ]/ t V+ Z + H3 C8 I" |+ x
8 U* n. M# u% E/ p2 F& a
- |1 c" Q# G1 ~4 j7 M( i; Z0 C! v 6 n7 B6 [& l; m/ ~0 N# g( V
gen pmaxplddy240=`tempmaxphddy240' in 1
V, G4 W/ j: F( v ( ?" v( _ j( w6 I6 M
*-------------------------------------
9 P+ j1 _0 q7 H# Y' J3 x$ q
( n9 o/ o% M2 l, t/ L gen price5d=v5 in 1/20
3 I; k0 Y0 C7 [$ n/ k & F4 F% O+ O' i |- Z) b4 J# ?: W, G
gen price5yy=_n in 1/20/ r+ N- Z+ g, H
/ [$ {: K0 F8 T( P7 Z! g" S gen price5y=price5yy*(dy240max-dy240min)/20
5 g4 `8 z6 _ ~4 U' [4 z
( `$ Q, Q+ a' i+ ] z *price5y &price5d3 Y* }6 z D6 ~3 M
7 \* O# \: \' e
gen priceny=price5y in 1" P$ B* T! n c# h& i
- q' y! d d& M9 a
gen pricen=v5 in 1" N2 |$ b' ]6 q7 r
* o0 O7 N. `1 \, V R9 |4 _ $ t7 G D1 ~- o J8 a8 e
*priceny &pricen
$ W7 {. E5 v2 j9 V2 [ / d. ~! h9 [: y( m6 r/ d
* q3 [: `+ U4 f c, k
*-------------------------graph------------------) Z' k+ J' s* \8 F* X
0 D1 H8 W* Q) D 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)) N; R" m! K4 L
+ H: s+ R. a0 x) ]. p, I* ---------可选项目----------------------8 [( y x( I0 {4 Z P* S
& e* l9 y7 p1 M0 h}
4 Y6 h0 ]1 O2 }7 Z/ k( T. Aend$ u% Y L; D3 [" Q, v- _0 _
|
|